import { MemoizedSelector, Selector } from '@ngrx/store'; import { EqualsFn } from './is-equal'; export type DistinctSelectorOptions = { resultEqual?: EqualsFn; argsEqual?: EqualsFn; }; export type DistinctSelector = MemoizedSelector TResult>; export declare function createDistinctSelector(projector: (state: TState) => TResult, options?: DistinctSelectorOptions<[TState], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, projector: (s1: S1) => TResult, options?: DistinctSelectorOptions<[S1], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, s2: Selector, projector: (s1: S1, s2: S2) => TResult, options?: DistinctSelectorOptions<[S1, S2], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, s2: Selector, s3: Selector, projector: (s1: S1, s2: S2, s3: S3) => TResult, options?: DistinctSelectorOptions<[S1, S2, S3], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, s2: Selector, s3: Selector, s4: Selector, projector: (s1: S1, s2: S2, s3: S3, s4: S4) => TResult, options?: DistinctSelectorOptions<[S1, S2, S3, S4], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, s2: Selector, s3: Selector, s4: Selector, s5: Selector, projector: (s1: S1, s2: S2, s3: S3, s4: S4, s5: S5) => TResult, options?: DistinctSelectorOptions<[S1, S2, S3, S4, S5], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, s2: Selector, s3: Selector, s4: Selector, s5: Selector, s6: Selector, projector: (s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6) => TResult, options?: DistinctSelectorOptions<[S1, S2, S3, S4, S5, S6], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, s2: Selector, s3: Selector, s4: Selector, s5: Selector, s6: Selector, s7: Selector, projector: (s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6, s7: S7) => TResult, options?: DistinctSelectorOptions<[S1, S2, S3, S4, S5, S6, S7], TResult>): DistinctSelector; export declare function createDistinctSelector(s1: Selector, s2: Selector, s3: Selector, s4: Selector, s5: Selector, s6: Selector, s7: Selector, s8: Selector, projector: (s1: S1, s2: S2, s3: S3, s4: S4, s5: S5, s6: S6, s7: S7, s8: S8) => TResult, options?: DistinctSelectorOptions<[S1, S2, S3, S4, S5, S6, S7, S8], TResult>): DistinctSelector; export declare function createDistinctSelector(...args: [...slices: Selector[], projector: unknown] & [ ...slices: { [i in keyof Slices]: Selector; }, projector: (...s: Slices) => TResult, options?: DistinctSelectorOptions ]): MemoizedSelector TResult>;