import { Reducer } from 'react'; import { Initializer, SyncDispatch } from './useRefState'; export declare type Normalizer
= (props: P, lastState: S) => S; declare type Keyof
= keyof {
[K in keyof P as S extends P[K] ? K : never]: unknown;
};
interface UseControllableValue {
(props: P, key: Keyof
, initArg: Initializer): [S, SyncDispatch];
(props: P, key: Keyof
, reducer: Reducer, initial: S): [
S,
SyncDispatch
];
(props: P, key: Keyof
, reducer: Reducer, initArg: I, initializer: (i: I) => S): [S, SyncDispatch];
(props: P, normalize: Normalizer
, initArg: Initializer): [S, SyncDispatch];
(props: P, normalize: Normalizer
, reducer: Reducer, initial: S): [
S,
SyncDispatch
];
(props: P, normalize: Normalizer
, reducer: Reducer, initArg: I, initializer: (i: I) => S): [S, SyncDispatch];
}
declare const _default: UseControllableValue;
export default _default;