import { Reducer } from './store'; import { EmptyConfig } from './state'; import { OrArray } from './types'; export declare function propsArrayFactory(key: K, options: { initialValue: T; config?: Config; }): Omit<{ [P in `with${Capitalize}` | `update${Capitalize}` | `set${Capitalize}InitialValue` | `set${Capitalize}` | `reset${Capitalize}` | `select${Capitalize}` | `get${Capitalize}`]: P extends `get${Capitalize}` ? (state: S) => T : P extends `select${Capitalize}` ? () => import("rxjs").OperatorFunction : P extends `reset${Capitalize}` ? () => Reducer : P extends `set${Capitalize}InitialValue` ? (value: T) => void : P extends `set${Capitalize}` ? (value: T | ((state: S_3) => T)) => Reducer : P extends `update${Capitalize}` ? (value: Partial | ((state: S_4) => Partial)) => Reducer : P extends `with${Capitalize}` ? (initialValue?: T | undefined) => import("./state").PropsFactory : any; }, `update${Capitalize}`> & { [P_1 in `update${Capitalize}` | `remove${Capitalize}` | `add${Capitalize}` | `in${Capitalize}` | `toggle${Capitalize}`]: P_1 extends `toggle${Capitalize}` ? (value: OrArray) => Reducer : P_1 extends `add${Capitalize}` ? (value: OrArray) => Reducer : P_1 extends `remove${Capitalize}` ? (value: OrArray) => Reducer : P_1 extends `update${Capitalize}` ? (item: T[0], newItem: T[0]) => Reducer : P_1 extends `in${Capitalize}` ? (value: T[0]) => (state: S_9) => boolean : never; }; type OnlyPrimitive = T[0] extends Record ? never : T; export declare function arrayAdd(arr: OnlyPrimitive, items: OrArray): T; export declare function arrayRemove(arr: OnlyPrimitive, items: OrArray): T; export declare function arrayToggle(arr: OnlyPrimitive, items: OrArray): T; export declare function inArray(arr: OnlyPrimitive, item: T[0]): boolean; export declare function arrayUpdate(arr: OnlyPrimitive, item: T[0], newItem: T[0]): T; export {};