import React from 'react';
type Modal = {
    key: string;
    isOpen: boolean;
    onChangeIsOpen?: (isOpen: boolean) => void;
    content: React.ReactNode;
};
type Store = {
    modals: Array<Modal>;
    addModal: (arg: {
        key: string;
        isOpen: boolean;
        onChangeIsOpen?: (isOpen: boolean) => void;
        content: React.ReactNode;
    }) => void;
    removeModal: (key: string) => void;
    updateModal: (arg: {
        key: string;
        isOpen: boolean;
        onChangeIsOpen?: (isOpen: boolean) => void;
        content: React.ReactNode;
    }) => void;
};
export declare const useModalStore: import("../../utils/stores").UseBoundStore<import("zustand/vanilla").StoreApi<Store>>;
export declare const useModalEffect: ({ isOpen, onChangeIsOpen, content, }: {
    isOpen?: boolean;
    onChangeIsOpen?: (isOpen: boolean) => void;
    content: React.ReactNode;
}, dep?: Array<any>) => void;
export {};
