import { Factory, ModalRootProps, ModalStylesNames, StylesApiProps } from '@mantine/core';
import { ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
import { PromptCancelButtonStylesNamesVariant } from './PromptCancelButton.js';
import { PromptConfirmButtonStylesNamesVariant } from './PromptConfirmButton.js';
export type PromptVariant = 'success' | 'warning' | 'critical' | 'information';
export type PromptVars = {
    root: '--prompt-icon-size';
};
export type PromptStylesNames = Exclude<ModalStylesNames, 'title'> | 'icon' | PromptCancelButtonStylesNamesVariant | PromptConfirmButtonStylesNamesVariant;
type PromptStylesApiProps = Omit<StylesApiProps<PromptFactory>, 'variant'>;
export interface PromptProps extends PromptStylesApiProps, Omit<ModalRootProps, 'classNames' | 'styles' | 'vars' | 'attributes' | 'variant'> {
    children: ReactNode;
    title: ReactNode;
}
interface PromptInternalProps extends PromptProps {
    variant?: PromptVariant;
}
export type PromptFactory = Factory<{
    props: PromptInternalProps;
    ref: HTMLDivElement;
    vars: PromptVars;
    variant: PromptVariant;
    stylesNames: PromptStylesNames;
}>;
type PromptCompoundComponent = ForwardRefExoticComponent<PromptProps & RefAttributes<HTMLDivElement>>;
export declare const Prompt: {
    readonly Information: PromptCompoundComponent;
    readonly Success: PromptCompoundComponent;
    readonly Warning: PromptCompoundComponent;
    readonly Critical: PromptCompoundComponent;
    readonly CancelButton: import("@mantine/core").MantineComponent<{
        props: import("./PromptCancelButton.js").PromptCancelButtonProps;
        ref: HTMLButtonElement;
        stylesNames: PromptCancelButtonStylesNamesVariant;
        compound: true;
    }>;
    readonly ConfirmButton: import("@mantine/core").MantineComponent<{
        props: import("./PromptConfirmButton.js").PromptConfirmButtonProps;
        ref: HTMLButtonElement;
        stylesNames: PromptConfirmButtonStylesNamesVariant;
        compound: true;
    }>;
    readonly Footer: import("react").FunctionComponent<import("../Modal/ModalFooter.js").ModalFooterProps & RefAttributes<HTMLDivElement> & {
        component?: any;
        renderRoot?: (props: Record<string, any>) => React.ReactNode;
    }>;
};
export {};
//# sourceMappingURL=Prompt.d.ts.map