export interface ComponentType<T> {
    new (...args: any[]): T;
}
export interface DokuModalConfig {
    /**
     * Appearance variant of the modal.
     * @default 'info'
     */
    variant?: 'info' | 'form' | 'confirmation' | 'custom';
    /**
     * Whether modal should be centered on the page.
     * @default true
     */
    centered?: boolean;
    /**
     * Size of the modal.
     *
     * The default value is depends on the variant.
     * - `confirmation` variant will have default value to `small`
     * - other than that, will have default value to `medium`
     *
     * @default 'medium'
     */
    size?: 'small' | 'medium' | 'large';
    /**
     * The options specifically for `confirmation` variant.
     */
    confirmationOptions?: {
        /**
         * Whether should display the confirmation icon.
         * @default true
         */
        showIcon?: boolean;
        /**
         * Type of the confirmation icon.
         * @default 'warning'
         */
        iconType?: 'warning' | 'info' | 'danger' | 'success';
    };
    /**
     * Add CSS class to the portal element.
     */
    portalClass?: string;
}
