/**
 * State shape for the columns store.
 */
export type ColumnsStoreState = {
    /** Map of stored column visibilities keyed by table key. */
    storedColumns: Record<string, Record<string, boolean>>;
    /** Action to update stored columns. */
    setColumns: (storedColumns: ColumnsStoreState['storedColumns']) => void;
};
/**
 * Zustand store to persist column visibility settings across sessions.
 */
export declare const useColumnsStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<ColumnsStoreState>, "setState" | "persist"> & {
    setState(partial: ColumnsStoreState | Partial<ColumnsStoreState> | ((state: ColumnsStoreState) => ColumnsStoreState | Partial<ColumnsStoreState>), replace?: false | undefined): unknown;
    setState(state: ColumnsStoreState | ((state: ColumnsStoreState) => ColumnsStoreState), replace: true): unknown;
    persist: {
        setOptions: (options: Partial<import('zustand/middleware').PersistOptions<ColumnsStoreState, ColumnsStoreState, unknown>>) => void;
        clearStorage: () => void;
        rehydrate: () => Promise<void> | void;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: ColumnsStoreState) => void) => () => void;
        onFinishHydration: (fn: (state: ColumnsStoreState) => void) => () => void;
        getOptions: () => Partial<import('zustand/middleware').PersistOptions<ColumnsStoreState, ColumnsStoreState, unknown>>;
    };
}>;
//# sourceMappingURL=useColumnsStore.d.ts.map