import { OperatorFunction } from 'rxjs'; import { EmptyConfig, PropsFactory } from './state'; import { Reducer } from './store'; export declare function propsFactory(key: K, { initialValue: propsFactoryInitialValue, config, }: { initialValue: T; config?: Config; }): { [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}` ? () => 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) => PropsFactory : any; };