import Messenger from '../Messenger';
import { EASDKAction } from '../../../types';
export interface CloseCallback {
    (result?: boolean, data?: any): void;
}
export interface OpenConfig {
    src: string;
    title?: string;
    width?: string;
    height?: number;
    primaryAction?: EASDKAction;
    secondaryActions?: EASDKAction[];
    onClose?(): void;
}
export interface AlertConfig {
    children?: string;
    title?: string;
    destructive?: boolean;
    confirmContent: string;
    cancelContent?: string;
    onClose?(): void;
    onConfirm(): void;
}
export default class Modal {
    private messenger;
    private closeCallback;
    constructor(messenger: Messenger);
    open(config: OpenConfig): void;
    alert(config: AlertConfig): void;
    close(result?: boolean, data?: any): void;
    storeCloseCallback(callback: CloseCallback): void;
    callCloseCallback(result?: boolean, data?: any): void;
}
