import { DialogConfig } from '@angular/cdk/dialog';
/**
 * Configuration object for dialog.
 */
export interface QdDialogConfig extends DialogConfig {
    /**
     * Title of dialog.
     */
    title?: QdDialogTitle;
    /**
     * Hides the close button in the dialog header.
     *
     * @default false
     */
    hideCloseHeaderButton?: boolean;
    /**
     * Determines the size of the dialog. There are 3 different width sizes.
     * Small - 500px
     * Default - 900px
     * FullWidth - 100%
     */
    dialogSize?: QdDialogSize;
    /**
     * Additional data for the dialog.
     */
    data?: {
        [key: string]: any;
    };
    /**
     * @description Configuration for the primary action.
     */
    primary?: QdDialogPrimaryAction;
    /**
     * @description Configuration for the cancel button.
     */
    cancel?: QdDialogCancelAction;
}
/**
 * Configuration object for page dialog.
 */
export interface QdPageDialogConfig {
    data?: any;
}
/**
 * Title of dialog.
 */
export interface QdDialogTitle {
    /**
     * Translation key.
     */
    i18n: string;
}
/**
 * Enum for different Dialog sizes.
 */
export declare enum QdDialogSize {
    Small = "500px",
    Default = "900px",
    FullWidth = "100%"
}
/**
 * @description Interface for the primary action.
 */
export interface QdDialogPrimaryAction {
    /**
     * @description Label for a primary action button, used for translation.
     *
     * * If no custom translation key is provided, a standard label will be used by default.
     */
    label?: {
        i18n: string;
    };
    /**
     * @description Handler function that is triggered when the primary action is executed.
     */
    handler?: () => void;
}
/**
 * @description Interface for the cancel action, including an optional confirmation message.
 */
export interface QdDialogCancelAction {
    /**
     * @description Label for the cancel action, used for translation.
     *
     * * If no custom translation key is provided, a standard label will be used by default.
     */
    label?: {
        i18n: string;
    };
    /**
     * @description Handler function that is triggered when the cancel action is executed.
     */
    handler?: (formValues?: any) => void;
    /**
     * @description An optional confirmation message displayed in a dialog when the user attempts to cancel the operation, warning that all changes will be discarded.
     * If no custom message is provided, a standard message will be shown by default.
     *
     * * The cancellation process checks whether there are unsaved changes in the form. If there are changes, the dialog will appear.
     *
     * * If no changes are detected, the cancellation proceeds without showing the confirmation dialog.
     */
    confirmationMessage?: {
        i18n: string;
    };
}
//# sourceMappingURL=dialog-config.model.d.ts.map