import { ComponentInternalInstance, Ref } from 'vue';
import { ControllerKey, ModalOrchestratorCreateParam, ModalOrchestratorParam, OrchestratorCreateOptions, PromiseWithComponent } from '../../types/ComponentOrchestratorTypes';
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: import('../..').OrchestratorArrayValue;
        show(): void;
        hide(trigger?: string): void;
    } | {
        modal: ComponentInternalInstance;
        show(): void;
        hide(trigger?: string): void;
    } | null;
    current: () => {
        show(): void;
        hide(trigger?: string): void;
        modal: import('vue').ComputedRef<import('vue').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 = Record<string, unknown>>(obj?: ModalOrchestratorCreateParam<ComponentProps>, options?: OrchestratorCreateOptions) => PromiseWithComponent<typeof BModal, ModalOrchestratorParam<ComponentProps>>;
    _isOrchestratorInstalled: Ref<boolean, boolean>;
    store: Ref<import('../..').OrchestratorArrayValue[], import('../..').OrchestratorArrayValue[]>;
};
/**
 * @deprecated use useModal() instead.
 * @returns {ReturnType<typeof useModal>} The modal controller
 */
export declare const useModalController: () => {
    show: (id?: ControllerKey) => void;
    hide: (trigger?: string, id?: ControllerKey) => void;
    hideAll: (trigger?: string) => void;
    get: (id: ControllerKey) => {
        modal: import('../..').OrchestratorArrayValue;
        show(): void;
        hide(trigger?: string): void;
    } | {
        modal: ComponentInternalInstance;
        show(): void;
        hide(trigger?: string): void;
    } | null;
    current: () => {
        show(): void;
        hide(trigger?: string): void;
        modal: import('vue').ComputedRef<import('vue').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 = Record<string, unknown>>(obj?: ModalOrchestratorCreateParam<ComponentProps>, options?: OrchestratorCreateOptions) => PromiseWithComponent<typeof BModal, ModalOrchestratorParam<ComponentProps>>;
    _isOrchestratorInstalled: Ref<boolean, boolean>;
    store: Ref<import('../..').OrchestratorArrayValue[], import('../..').OrchestratorArrayValue[]>;
};
