import { Slots } from "../UxCoreTypings";
export interface DialogModel {
    visible?: boolean;
}
export declare enum DialogPositions {
    Left = 0,
    Center = 1,
    Right = 2,
    FullScreen = 3,
    NextToContentNav = 4
}
export interface IDialogProperties {
    headerClass?: string;
    contentClass?: string;
    disabled?: boolean;
    hideOverlay?: boolean;
    maxWidth?: string | number;
    persistent?: boolean;
    scrollable?: boolean;
    width?: string | number;
    position?: DialogPositions;
    title?: string;
    light?: boolean;
    dark?: boolean;
    hideCloseButton?: boolean;
    noClickAnimation?: boolean;
    /**
     * Force the dialog to render on mounted (e.g rendered but not shown)
     */
    eager?: boolean;
    /**
     * Add aria-labelledby for dialog
     */
    ariaLabelTitle?: string;
    /**
     * Add aria-hidden for dialog content
     */
    ariaHiddenContent?: boolean;
}
export interface IDialogSlots {
    default: () => void;
    activator?: () => void;
}
export interface IDialog extends IDialogProperties {
    [name: string]: any;
    valueBind?: DialogModel;
    onClose?: () => void;
    onKeydown?: (e: KeyboardEvent) => void;
    onClickOutside?: (closeDialog: (prompt: boolean, title?: string) => void, event?: Event) => void;
    slots?: Slots<IDialogSlots>;
}
