/** * тип обозначающий какой угодно рест аргументов */ type Arguments = unknown[]; /** * хэндлер принимающий на вход неизвестное количество аргументов, неизвестного вида */ type Handler = (...a: TArgs) => void; /** * хэндлер на открытие с неизвестным количеством аргументов, неизвестного вида */ type OpenHandler = Handler; /** * хэндлер на закрытие с неизвестным количеством аргументов, неизвестного вида */ type CloseHandler = Handler; type UseToggleResultTuple = [ /** * флаг активности состояния */ boolean, OpenHandler, CloseHandler ]; type UseToggleOptions = { /** * изначальное состояние активности */ initialState?: boolean; /** * коллбэк на открытие */ onActive?: OpenHandler; /** * коллбэк на закрытие */ onInactive?: CloseHandler; }; /** * хук хранящий стейт активности, и предоставляющий методы переключения с проксируемыми аргументами, позволяет уменьшить бойлерплейт код */ export declare const useToggle: (params?: UseToggleOptions | undefined) => UseToggleResultTuple; export {};