import { ReactNode } from 'react';
import { StoreApi } from 'zustand';
interface CollapseState {
    collapsedKeys: string[];
    onCollapsedKeysChange?: (keys: string[]) => void;
    toggleCollapsedKey: (key: string) => void;
}
type ControlledState = Partial<Pick<CollapseState, 'collapsedKeys' | 'onCollapsedKeysChange'>>;
export declare const useStore: import("zustand-utils").UseContextStore<StoreApi<CollapseState>>, useStoreApi: () => {
    setState: (partial: CollapseState | Partial<CollapseState> | ((state: CollapseState) => CollapseState | Partial<CollapseState>), replace?: boolean | undefined) => void;
    getState: () => CollapseState;
    getInitialState: () => CollapseState;
    subscribe: (listener: (state: CollapseState, prevState: CollapseState) => void) => () => void;
    destroy: () => void;
}, Provider: ({ createStore, children }: {
    createStore: () => StoreApi<CollapseState>;
    children: ReactNode;
}) => import("react").FunctionComponentElement<import("react").ProviderProps<StoreApi<CollapseState> | undefined>>;
export interface CollapseProviderProps extends ControlledState {
    children: ReactNode;
    defaultCollapsedKeys?: string[];
}
export declare const CollapseProvider: import("react").NamedExoticComponent<CollapseProviderProps>;
export {};
