import React from 'react';
import type { VariantProps } from 'class-variance-authority';
import { buttonVariants } from '../../lib/design-variants';
import type { Union } from 'ts-toolbelt';
type BaseProps = {
    title: string;
    description: string;
    onAction: () => void;
    children?: React.ReactNode;
    cancelLabel: string;
    actionLabel: string;
    actionVariant?: VariantProps<typeof buttonVariants>['variant'];
};
type ControlledProps = BaseProps & {
    controlled: true;
    open: boolean;
    setOpen: (open: boolean) => void;
};
type UncontrolledProps = BaseProps & {
    controlled?: false;
};
type Props = Union.Strict<ControlledProps | UncontrolledProps>;
export declare const ConfirmationDialog: ({ title, description, onAction, children, cancelLabel, actionLabel, actionVariant, open, setOpen, controlled, }: Props) => import("react/jsx-runtime").JSX.Element;
export {};
