/**
 * CSV Importer Types
 */
export interface TemplateColumn {
    name: string;
    key?: string;
    required?: boolean;
    description?: string;
    data_type?: string;
    suggested_mappings?: string[];
}
export interface Template {
    columns: TemplateColumn[];
}
export interface ImporterOptions {
    /** The importer ID to use for API calls */
    importerId: string;
    /** Whether to show the importer as a modal or embed it directly */
    isModal?: boolean;
    /** Whether the modal is open (only used when isModal is true) */
    modalIsOpen?: boolean;
    /** Function called when the modal close is triggered */
    modalOnCloseTriggered?: () => void;
    /** Whether clicking outside the modal should close it */
    modalCloseOnOutsideClick?: boolean;
    /** The template defining the columns to import */
    template: Template | TemplateColumn[];
    /** Whether to use dark mode */
    darkMode?: boolean;
    /** The primary color to use for the importer */
    primaryColor?: string;
    /** Additional CSS class names to apply */
    className?: string;
    /** Function called when the import is complete */
    onComplete?: (data: any) => void;
    /** Custom CSS styles to apply */
    customStyles?: Record<string, any>;
    /** Whether to show the download template button */
    showDownloadTemplateButton?: boolean;
    /** Whether to skip the header row selection step */
    skipHeaderRowSelection?: boolean;
    /** The language to use */
    language?: string;
    /** Custom translations to use */
    customTranslations?: Record<string, Record<string, string>>;
    /** Custom API URL to use (overrides global config) */
    apiUrl?: string;
}
export interface CSVImporterProps {
    /** The importer ID to use for API calls */
    importerId?: string;
    /** Whether to show the importer as a modal or embed it directly */
    isModal?: boolean;
    /** Whether the modal is open (only used when isModal is true) */
    modalIsOpen?: boolean;
    /** Function called when the modal close is triggered */
    modalOnCloseTriggered?: () => void;
    /** Whether clicking outside the modal should close it */
    modalCloseOnOutsideClick?: boolean;
    /** The template defining the columns to import */
    template?: Template | TemplateColumn[];
    /** Whether to use dark mode */
    darkMode?: boolean;
    /** The primary color to use for the importer */
    primaryColor?: string;
    /** Additional CSS class names to apply */
    className?: string;
    /** Function called when the import is complete */
    onComplete?: (data: any) => void;
    /** Custom CSS styles to apply */
    customStyles?: Record<string, any>;
    /** Whether to show the download template button */
    showDownloadTemplateButton?: boolean;
    /** Whether to skip the header row selection step */
    skipHeaderRowSelection?: boolean;
    /** The language to use */
    language?: string;
    /** Custom translations to use */
    customTranslations?: Record<string, Record<string, string>>;
    /** Custom API URL to use (overrides global config) */
    apiUrl?: string;
    /** Any additional props to pass to the component */
    [key: string]: any;
}
export interface ImportResult {
    job_id: string;
    status: string;
    total_rows: number;
    valid_rows: number;
    invalid_rows: number;
}
