diff --git a/knockout.postbox/knockout-postbox.d.ts b/knockout.postbox/knockout-postbox.d.ts new file mode 100644 index 0000000000..341e817cb7 --- /dev/null +++ b/knockout.postbox/knockout-postbox.d.ts @@ -0,0 +1,49 @@ +interface KnockoutPostBox { + subscribe: (topic: string, handler: (value) => void, target?: any) => KnockoutObservableAny; + publish: (topic: string, value?: any) => KnockoutObservableAny; + defaultComparer: (newValue: any, oldValue: any) => bool; +} + +interface KnockoutObservableString { + subscribeTo: (topic: string, useLastPublishedValueToInitialize?: bool, transform?: (val: any) => string) => KnockoutObservableString; + unsubscribeFrom: (topic: string) => KnockoutObservableString; + publishOn: (topic: string, skipInitialPublish?: bool, equalityComparer?: (newValue: string, oldValue: string) => bool) => KnockoutObservableString; + stopPublishingOn: (topic: string) => KnockoutObservableString; + syncWith: (topic: string, initializeWithLatestValue?: bool, skipInitialPublish?: bool, equalityComparer?: (newValue: string, oldValue: string) => bool) => KnockoutObservableString; +} + +interface KnockoutObservableDate { + subscribeTo: (topic: string, useLastPublishedValueToInitialize?: bool, transform?: (val: any) => Date) => KnockoutObservableDate; + unsubscribeFrom: (topic: string) => KnockoutObservableDate; + publishOn: (topic: string, skipInitialPublish?: bool, equalityComparer?: (newValue: Date, oldValue: Date) => bool) => KnockoutObservableDate; + stopPublishingOn: (topic: string) => KnockoutObservableDate; + syncWith: (topic: string, initializeWithLatestValue?: bool, skipInitialPublish?: bool, equalityComparer?: (newValue: Date, oldValue: Date) => bool) => KnockoutObservableDate; +} + +interface KnockoutObservableNumber { + subscribeTo: (topic: string, useLastPublishedValueToInitialize?: bool, transform?: (val: any) => number) => KnockoutObservableNumber; + unsubscribeFrom: (topic: string) => KnockoutObservableNumber; + publishOn: (topic: string, skipInitialPublish?: bool, equalityComparer?: (newValue: Number, oldValue: Number) => bool) => KnockoutObservableNumber; + stopPublishingOn: (topic: string) => KnockoutObservableNumber; + syncWith: (topic: string, initializeWithLatestValue?: bool, skipInitialPublish?: bool, equalityComparer?: (newValue: Number, oldValue: Number) => bool) => KnockoutObservableNumber; +} + +interface KnockoutObservableBool { + subscribeTo: (topic: string, useLastPublishedValueToInitialize?: bool, transform?: (val: any) => bool) => KnockoutObservableBool; + unsubscribeFrom: (topic: string) => KnockoutObservableBool; + publishOn: (topic: string, skipInitialPublish?: bool, equalityComparer?: (newValue: bool, oldValue: bool) => bool) => KnockoutObservableBool; + stopPublishingOn: (topic: string) => KnockoutObservableBool; + syncWith: (topic: string, initializeWithLatestValue?: bool, skipInitialPublish?: bool, equalityComparer?: (newValue: bool, oldValue: bool) => bool) => KnockoutObservableBool; +} + +interface KnockoutObservableAny { + subscribeTo: (topic: string, useLastPublishedValueToInitialize?: bool, transform?: (val: any) => any) => KnockoutObservableAny; + unsubscribeFrom: (topic: string) => KnockoutObservableAny; + publishOn: (topic: string, skipInitialPublish?: bool, equalityComparer?: (newValue: any, oldValue: any) => bool) => KnockoutObservableAny; + stopPublishingOn: (topic: string) => KnockoutObservableAny; + syncWith: (topic: string, initializeWithLatestValue?: bool, skipInitialPublish?: bool, equalityComparer?: (newValue: any, oldValue: any) => bool) => KnockoutObservableAny; +} + +interface KnockoutStatic { + postbox: KnockoutPostBox; +} \ No newline at end of file