import { PaginatorConfig, PageParams, PageActionCreators } from '@orange-marmalade/paginate-this'; import { Action, AnyAction, ActionCreator } from 'redux'; /** * Type definition for paginator Hight Order Reducer */ export declare type PaginateConfig = { loadInfinity?: boolean; endpoint?: ((params: Record) => string) | string; endpointPost?: ((params: Record) => string) | string; loadTypes?: [string, string, string]; storeTypes?: [string, string, string]; cancelFetch?: null | ((message?: string) => void); afterStore?: (...args: any[]) => any; fetch?: PaginatorConfig['fetch']; } & Pick>; export declare type PaginateInfo = { params: Partial & { totalCountProp: string; resultsProp: string; }; } & Pick>; declare type BlankOrPromise = void | Promise; export interface PageActionCreatorsMap { attachEntries: ActionCreator; addItem: ActionCreator; addingItem: ActionCreator; addFailed: ActionCreator; removingItemAlt: ActionCreator; removeItemAlt: ActionCreator; loadByState: ActionCreator<(...args: any[]) => BlankOrPromise>; loadByStates: ActionCreator<(...args: any[]) => BlankOrPromise>; loadByResetStates: ActionCreator<(...args: any[]) => BlankOrPromise>; infinityAsync: ActionCreator<(...args: any[]) => BlankOrPromise>; fetchAsync: ActionCreator<(...args: any[]) => BlankOrPromise>; addAsync: ActionCreator<(...args: any[]) => BlankOrPromise>; removeAsync: ActionCreator<(...args: any[]) => BlankOrPromise>; loadInfinityEntries: ActionCreator<(...args: any[]) => BlankOrPromise>; loadEntries: ActionCreator<(...args: any[]) => BlankOrPromise>; storeEntry: ActionCreator<(...args: any[]) => BlankOrPromise>; showByState: ActionCreator<(...args: any[]) => BlankOrPromise>; showByStates: ActionCreator<(...args: any[]) => BlankOrPromise>; showByResetStates: ActionCreator<(...args: any[]) => BlankOrPromise>; } export declare type PageActionCreatorsComposed = PageActionCreatorsMap & PageActionCreators; export {};