/// declare type IEmptyFunction = () => void; declare type TAction = { type: 'ADD' | 'REMOVE' | 'RESET'; key?: number; value?: number[]; callback?: (params: { index?: number; length: number; }) => void; }; declare type TGroups = number[]; declare type THandleRemoveGroup = (key: number) => void; export declare type TOnAdd = (params: { length: number; }) => void; export declare type TOnRemove = (params: { index: number; length: number; }) => void; export declare type TRenderLabel = (params: { index: number; remove: IEmptyFunction; length: number; }) => React.ReactNode; export declare type TRenderFooter = (params: { length: number; }) => React.ReactNode; export declare type TRenderAddItem = (params: { add: IEmptyFunction; length: number; }) => React.ReactNode; export interface IReducer { (state: TGroups, action: TAction): TGroups; } export interface IContext { groups: TGroups; handleAddGroup: IEmptyFunction; handleRemoveGroup: THandleRemoveGroup; renderAddItem?: TRenderAddItem; renderLabel?: TRenderLabel; renderFooter?: TRenderFooter; } export {};