// Generated by dts-bundle-generator v6.4.0

import React from 'react';

export interface ImporterLocale {
	general: {
		goToPreviousStepTooltip: string;
	};
	fileStep: {
		initialDragDropPrompt: string;
		activeDragDropPrompt: string;
		getImportError: (message: string) => string;
		getDataFormatError: (message: string) => string;
		goBackButton: string;
		nextButton: string;
		rawFileContentsHeading: string;
		previewImportHeading: string;
		dataHasHeadersCheckbox: string;
		previewLoadingStatus: string;
	};
	fieldsStep: {
		stepSubtitle: string;
		requiredFieldsError: string;
		nextButton: string;
		dragSourceAreaCaption: string;
		getDragSourcePageIndicator: (currentPage: number, pageCount: number) => string;
		getDragSourceActiveStatus: (columnCode: string) => string;
		nextColumnsTooltip: string;
		previousColumnsTooltip: string;
		clearAssignmentTooltip: string;
		selectColumnTooltip: string;
		unselectColumnTooltip: string;
		dragTargetAreaCaption: string;
		getDragTargetOptionalCaption: (field: string) => string;
		getDragTargetRequiredCaption: (field: string) => string;
		dragTargetPlaceholder: string;
		getDragTargetAssignTooltip: (columnCode: string) => string;
		dragTargetClearTooltip: string;
		columnCardDummyHeader: string;
		getColumnCardHeader: (code: string) => string;
	};
	progressStep: {
		stepSubtitle: string;
		uploadMoreButton: string;
		finishButton: string;
		statusError: string;
		statusComplete: string;
		statusPending: string;
		processedRowsLabel: string;
	};
}
export declare const enUS: ImporterLocale;
export declare const deDE: ImporterLocale;
export declare const itIT: ImporterLocale;
export declare const ptBR: ImporterLocale;
export declare const daDK: ImporterLocale;
export declare const trTR: ImporterLocale;
export interface CustomizablePapaParseConfig {
	delimiter?: Papa.ParseConfig["delimiter"];
	newline?: Papa.ParseConfig["newline"];
	quoteChar?: Papa.ParseConfig["quoteChar"];
	escapeChar?: Papa.ParseConfig["escapeChar"];
	comments?: Papa.ParseConfig["comments"];
	skipEmptyLines?: Papa.ParseConfig["skipEmptyLines"];
	delimitersToGuess?: Papa.ParseConfig["delimitersToGuess"];
	chunkSize?: Papa.ParseConfig["chunkSize"];
	encoding?: Papa.ParseConfig["encoding"];
}
export declare type BaseRow = {
	[name: string]: unknown;
};
export declare type ParseCallback<Row extends BaseRow> = (rows: Row[], info: {
	startIndex: number;
}) => void | Promise<void>;
export interface ImporterPreviewColumn {
	index: number;
	header?: string;
	values: string[];
}
export interface ImporterFilePreview {
	rawData: string;
	columns: ImporterPreviewColumn[];
	skipHeaders: boolean;
	parseWarning?: Papa.ParseError;
}
export interface ImportInfo {
	file: File;
	preview: ImporterFilePreview;
	fields: string[];
	columnFields: (string | undefined)[];
}
export declare type ImporterContentRenderProp = (info: {
	file: File | null;
	preview: ImporterFilePreview | null;
}) => React.ReactNode;
export interface ImporterFieldProps {
	name: string;
	label: string;
	optional?: boolean;
}
export declare type ImporterDataHandlerProps<Row extends BaseRow> = {
	dataHandler: ParseCallback<Row>;
	processChunk?: undefined;
} | {
	/**
	 * @deprecated renamed to `dataHandler`
	 */
	processChunk: ParseCallback<Row>;
	dataHandler?: undefined;
};
export declare type ImporterProps<Row extends BaseRow> = ImporterDataHandlerProps<Row> & {
	defaultNoHeader?: boolean;
	/**
	 * @deprecated renamed to `defaultNoHeader`
	 */
	assumeNoHeaders?: boolean;
	displayColumnPageSize?: number;
	displayFieldRowSize?: number;
	restartable?: boolean;
	onStart?: (info: ImportInfo) => void;
	onComplete?: (info: ImportInfo) => void;
	onClose?: (info: ImportInfo) => void;
	children?: ImporterContentRenderProp | React.ReactNode;
	locale?: ImporterLocale;
} & CustomizablePapaParseConfig;
export declare const ImporterField: React.FC<ImporterFieldProps>;
export declare function Importer<Row extends BaseRow>(props: ImporterProps<Row>): React.ReactElement;

export {};
