import { ReactNode } from 'react';
import { GenericComponent } from '../../@types/types';
import { DialogBaseProps } from './DialogBase';
import { SIZES } from '../../constants';
interface DialogProps extends Omit<DialogBaseProps, 'ref'> {
    /** If true, the dialog will show on screen. */
    active?: boolean;
    /** The content to display inside the dialog. */
    children?: ReactNode;
    /** A class name for the wrapper to apply custom styles. */
    className?: string;
    /** Object containing the the props of the action on the left (a Button). */
    leftAction?: object;
    /** Callback function that is fired when the close icon (in the header) is clicked. */
    onCloseClick?: () => void;
    /** Object containing the props of the primary action (a Button, with level prop set to 'primary'). */
    primaryAction: object;
    /** The size of the dialog. */
    size?: Exclude<typeof SIZES[number], 'tiny' | 'smallest'>;
    /** If true, the content of the dialog will be scrollable when it exceeds the available height. */
    scrollable?: boolean;
    /** Object containing the the props of the secondary action (a Button). */
    secondaryAction?: object;
    /** Object containing the props of the tertiary action (a Link, with the inherit props set to false). */
    tertiaryAction?: object;
    /** The title of the dialog. */
    title?: ReactNode;
    /** If true the dialog will render as a form element. */
    form?: boolean;
    /** Optional callback if the dialog is a form and is being submitted */
    onSubmit?: () => void;
}
declare const Dialog: GenericComponent<DialogProps>;
export default Dialog;
