// Type definitions for knockout-transformations 2.0.0 // Project: https://github.com/One-com/knockout-transformations // Definitions by: John Reilly , Wim Looman // Definitions: https://github.com/borisyankov/DefinitelyTyped /// declare module KnockoutTransformations { interface Mapping { (value: T): TResult; } interface MappingOption { mapping: Mapping; disposeItem?: (item: TResult) => void; } interface MappingWithDisposeCallbackOption { mappingWithDisposeCallback: (value: T) => { mappedValue: TResult; dispose: () => void; }; } } interface KnockoutObservableArrayFunctions { map(mapping: KnockoutTransformations.Mapping): KnockoutObservableArray; map(mapping: KnockoutTransformations.MappingOption): KnockoutObservableArray; map(mapping: KnockoutTransformations.MappingWithDisposeCallbackOption): KnockoutObservableArray; filter(predicate: (value: T) => boolean): KnockoutObservableArray; sortBy(sorter: (value: T, descending: (sorter: any) => any) => any): KnockoutObservableArray; indexBy(indexer: (value: T) => string): KnockoutObservable<{ [index: string]: T[] }>; indexBy(indexer: (value: T) => string[]): KnockoutObservable<{ [index: string]: T[] }>; indexBy(indexer: (value: T) => any): KnockoutObservable; uniqueIndexBy(indexer: (value: T) => string): KnockoutObservable<{ [index: string]: T }>; }