import { AreasSlice } from "./slices/areas-slice";
import { ContextMenuSlice } from "./slices/context-menu-slice";
import { CoreSlice } from "./slices/core-slice";
import { ScreensSlice } from "./slices/screens-slice";
import { IKarmycOptions } from "./types/karmyc";
export type RootStateType = CoreSlice & ContextMenuSlice & ScreensSlice & AreasSlice;
export declare const initializeMainStore: (optionsParam?: Partial<IKarmycOptions>) => void;
export declare const useKarmycStore: import("zustand").UseBoundStore<Omit<Omit<Omit<Omit<import("zustand").StoreApi<RootStateType>, "subscribe"> & {
    subscribe: {
        (listener: (selectedState: RootStateType, previousSelectedState: RootStateType) => void): () => void;
        <U>(selector: (state: RootStateType) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
            equalityFn?: ((a: U, b: U) => boolean) | undefined;
            fireImmediately?: boolean;
        } | undefined): () => void;
    };
}, "setState"> & {
    setState(nextStateOrUpdater: RootStateType | Partial<RootStateType> | ((state: import("immer").WritableDraft<RootStateType>) => void), shouldReplace?: boolean | undefined): void;
}, "setState"> & {
    setState<A extends string | {
        type: string;
    }>(nextStateOrUpdater: RootStateType | Partial<RootStateType> | ((state: import("immer").WritableDraft<RootStateType>) => void), shouldReplace?: boolean | undefined, action?: A | undefined): void;
}, "persist"> & {
    persist: {
        setOptions: (options: Partial<import("zustand/middleware").PersistOptions<RootStateType, unknown>>) => void;
        clearStorage: () => void;
        rehydrate: () => Promise<void> | void;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: RootStateType) => void) => () => void;
        onFinishHydration: (fn: (state: RootStateType) => void) => () => void;
        getOptions: () => Partial<import("zustand/middleware").PersistOptions<RootStateType, unknown>>;
    };
}>;
