import { InitialArrayType } from '../types'; export declare type ShuttleState = { /** * The source container data as an array. */ source: any[]; /** * The target container data as an array. */ target: any[]; /** * The selection indexes used for quickly applying classNames. */ selected: { /** * The source containers selections. */ source: Set; /** * The target container selections. */ target: Set; }; disabled: { /** * The source containers disabled items. */ source: Set; /** * The target container disabled items. */ target: Set; }; }; export declare type InitialState = InitialArrayType | Promise>; export declare type InitialSelections = InitialArrayType; export declare type DisabledSelections = InitialArrayType; export declare type InitArgs = { source: any[]; target: any[]; selections: InitialSelections; disabled: DisabledSelections; }; export declare function init({ source, target, selections, disabled, }: InitArgs): ShuttleState; /** * useShuttleState allows you to own the state of the Shuttle. Pass in custom * data without trying to remember what prop needs to be set and with what params. * Save this result in a variable and spread ot back to ``. Let the Shuttle * know: * * 1. What your data is * 2. What (if any) items need to be pre-selected * 3. What (if any) custom state reducers you want to process -- you can even override Shuttle state reducers here too! * @param initialState * @param initialSelections * @param reducers */ export declare function useShuttleState(initialState?: InitialState, initialSelections?: InitialSelections, disabled?: DisabledSelections, reducers?: Record): { shuttleState: any; setShuttleState: any; }; //# sourceMappingURL=useShuttleState.d.ts.map