import { ComponentInternalInstance, ComponentPublicInstance, ComputedRef, MaybeRef, Ref } from 'vue';
import { OrchestratorStoreObject } from '../../utils/keys';
import { ComponentController, ControllerKey, ModalOrchestratorArrayValue, ModalOrchestratorCreateParamBase } from '../../types';
import { BModal } from '../../components';
export declare const useModal: () => {
    show: (id?: ControllerKey) => void;
    hide: (trigger?: string, id?: ControllerKey) => void;
    hideAll: (trigger?: string) => void;
    get: (id: ControllerKey) => {
        modal: Ref<ModalOrchestratorArrayValue, ModalOrchestratorArrayValue>;
        show(): void;
        hide(trigger?: string): void;
    } | {
        modal: ComponentInternalInstance;
        show(): void;
        hide(trigger?: string): void;
    } | null;
    current: () => {
        show(): void;
        hide(trigger?: string): void;
        modal: ComputedRef<ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import('vue').ComponentProvideOptions>, {}, {}, "", {}, any> | null | undefined>;
    } | null;
    create: <ComponentProps extends Record<string, unknown> = Record<string, unknown>, T extends ModalOrchestratorCreateParamBase<ComponentProps> = ModalOrchestratorCreateParamBase<ComponentProps>>(obj?: MaybeRef<T>) => ComponentController<typeof BModal, Ref<ModalOrchestratorArrayValue>>;
    _isOrchestratorInstalled: Readonly<Ref<boolean, boolean>>;
    store: Ref<OrchestratorStoreObject, OrchestratorStoreObject>;
};
