import type { UmbModalToken } from '../token/modal-token.js';
import type { UmbModalContextClassArgs } from '../context/modal.context.js';
import { UmbControllerBase } from '../../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
export declare class UmbOpenModalController extends UmbControllerBase {
    open<ModalData extends {
        [key: string]: any;
    } = {
        [key: string]: any;
    }, ModalValue = unknown, ModalAliasTypeAsToken extends UmbModalToken = UmbModalToken<ModalData, ModalValue>>(modalAlias: UmbModalToken<ModalData, ModalValue> | string, args?: UmbModalContextClassArgs<ModalAliasTypeAsToken>): Promise<ModalValue>;
}
/**
 *
 * @param host {UmbControllerHost} - The host controller
 * @param modalAlias
 * @param args {UmbConfirmModalArgs} - The data to pass to the modal
 * @returns {UmbConfirmModalController} The modal controller instance
 */
export declare function umbOpenModal<ModalData extends {
    [key: string]: any;
} = {
    [key: string]: any;
}, ModalValue = unknown, ModalAliasTypeAsToken extends UmbModalToken = UmbModalToken<ModalData, ModalValue>>(host: UmbControllerHost, modalAlias: UmbModalToken<ModalData, ModalValue> | string, args?: UmbModalContextClassArgs<ModalAliasTypeAsToken>): Promise<ModalValue>;
