import { OverlayRef } from '@angular/cdk/overlay';
import { ComponentType, TemplatePortal } from '@angular/cdk/portal';
import { EuiDialogVerticalPosition } from './eui-dialog-alignment';
export declare class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {
    e2eAttr: string;
    acceptLabel: string;
    dismissLabel: string;
    width: string;
    height: string;
    isFullScreen: boolean;
    hasCloseButton: boolean;
    hasAcceptButton: boolean;
    hasDismissButton: boolean;
    hasMobileCustomSize: boolean;
    hasClosedOnClickOutside: boolean;
    hasClosedOnEscape: boolean;
    isHandleCloseOnDismiss: boolean;
    isHandleCloseOnClose: boolean;
    isHandleCloseOnAccept: boolean;
    isHandleCloseOnClickOutside: boolean;
    isHandleCloseOnEscape: boolean;
    hasFooter: boolean;
    isMessageBox: boolean;
    classList: any;
    constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>);
}
export interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {
    dialogId?: string;
    e2eAttr?: string;
    title?: string;
    variant?: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | string;
    acceptLabel?: string;
    dismissLabel?: string;
    width?: string;
    height?: string;
    isFullScreen?: boolean;
    headerComponent?: {
        component: ComponentType<HC>;
        config?: HCC;
    };
    bodyComponent?: {
        component: ComponentType<BC>;
        config?: BCC;
    };
    footerComponent?: {
        component: ComponentType<FC>;
        config?: FCC;
    };
    header?: TemplatePortal;
    content?: TemplatePortal | string | null;
    footer?: TemplatePortal;
    hasCloseButton?: boolean;
    hasAcceptButton?: boolean;
    hasDismissButton?: boolean;
    hasMobileCustomSize?: boolean;
    hasClosedOnClickOutside?: boolean;
    hasClosedOnEscape?: boolean;
    isHandleCloseOnDismiss?: boolean;
    isHandleCloseOnClose?: boolean;
    isHandleCloseOnAccept?: boolean;
    isHandleCloseOnClickOutside?: boolean;
    isHandleCloseOnEscape?: boolean;
    isDraggable?: boolean;
    hasNoBodyPadding?: boolean;
    hasFooter?: boolean;
    isMessageBox?: boolean;
    verticalPosition?: EuiDialogVerticalPosition;
    classList?: string;
    overlayRef?: OverlayRef;
    open?: () => void;
    init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;
    clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;
    escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;
    close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;
    dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;
    accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;
}
export declare class EuiDialogComponentInstances<HC, BC, FC> {
    headerComponent: HC;
    bodyComponent: BC;
    footerComponent: FC;
}
//# sourceMappingURL=eui-dialog.config.d.ts.map