import { Type } from '@angular/core';
export interface ModalConfig<T> {
    size?: 'xs' | 'sm' | 'md' | 'lg';
    title?: string;
    description?: string;
    showCloseButton?: boolean;
    primaryButton?: ModalButton;
    secondaryButton?: ModalButton;
    data?: T;
    closeOnBackdropClick?: boolean;
    autoFocus?: boolean;
    safeAreaInsetBottom?: boolean;
    persist?: boolean;
    headerComponent?: Type<unknown>;
    headerData?: Record<string, unknown>;
    onPrimaryClick?: (result: T, closeModal: (result?: T) => void) => void;
    onSecondaryClick?: (closeModal: (result?: T) => void) => void;
    onClose?: (closeModal: (result?: T) => void) => void;
}
export interface ModalButton {
    text: string;
    variant: 'primary' | 'secondary' | 'tertiary' | 'neutral' | 'danger' | 'inverse';
    disabled?: boolean;
    loading?: boolean;
    loadingText?: string;
}
