import { Factory, ModalRootProps, ModalStylesNames, StylesApiProps } from '@mantine/core';
import { ReactNode } from 'react';
import { Modal } from '../modal';
import { PromptCancelButton, PromptCancelButtonStylesNamesVariant } from './PromptCancelButton';
import { PromptConfirmButton, PromptConfirmButtonStylesNamesVariant } from './PromptConfirmButton';
export type PromptVariant = 'success' | 'warning' | 'critical' | 'info';
export type PromptVars = {
    root: '--prompt-icon-size';
};
export type PromptStylesNames = ModalStylesNames | 'icon' | PromptCancelButtonStylesNamesVariant | PromptConfirmButtonStylesNamesVariant;
export interface PromptProps extends StylesApiProps<PromptFactory>, Omit<ModalRootProps, 'classNames' | 'styles' | 'vars'> {
    /**
     * Controls prompt appearance
     *
     * @default "info"
     */
    variant?: PromptVariant;
    children: ReactNode;
    title: ReactNode;
    icon?: ReactNode;
}
export type PromptFactory = Factory<{
    props: PromptProps;
    ref: HTMLDivElement;
    vars: PromptVars;
    variant: PromptVariant;
    stylesNames: PromptStylesNames;
    staticComponents: {
        CancelButton: typeof PromptCancelButton;
        ConfirmButton: typeof PromptConfirmButton;
        Footer: typeof Modal.Footer;
    };
}>;
export declare const Prompt: import("@mantine/core").MantineComponent<{
    props: PromptProps;
    ref: HTMLDivElement;
    vars: PromptVars;
    variant: PromptVariant;
    stylesNames: PromptStylesNames;
    staticComponents: {
        CancelButton: typeof PromptCancelButton;
        ConfirmButton: typeof PromptConfirmButton;
        Footer: typeof Modal.Footer;
    };
}>;
//# sourceMappingURL=Prompt.d.ts.map