import { DialogContentProps } from '@radix-ui/react-dialog';
import { AllHTMLAttributes, ReactNode } from 'react';
import { P as PaperProps } from './Paper.types-N2GQYA5D.js';

declare enum Positions {
    Absolute = "absolute",
    Fixed = "fixed"
}
declare const DEFAULT_POSITION = Positions.Fixed;

type CombinedRefs = {
    container: HTMLDivElement | null;
    content: HTMLDivElement | null;
    trigger: HTMLElement | null;
};
interface DialogProps extends AllHTMLAttributes<HTMLDivElement> {
    children: ReactNode;
    closeButtonLabel?: string;
    condensed?: boolean;
    contentClassName?: string;
    defaultOpen?: boolean;
    disabled?: boolean;
    dismissable?: boolean;
    fullWidth?: boolean;
    modal?: boolean;
    open?: boolean;
    overlayStyle?: 'dark' | 'light' | 'none';
    position?: `${Positions}`;
    root?: Partial<AllHTMLAttributes<HTMLDivElement>>;
    scrollbarOnHover?: boolean;
    title?: string;
    trigger?: ReactNode;
    wrapper?: Partial<PaperProps>;
    onClose?: () => void;
    onDismiss?: () => void;
    onInteractOutside?: DialogContentProps['onInteractOutside'];
    onOpen?: () => void;
    onPointerDownOutside?: DialogContentProps['onPointerDownOutside'];
    onToggle?: (open: boolean) => void;
}

export { type CombinedRefs as C, DEFAULT_POSITION as D, Positions as P, type DialogProps as a };
