import { AlertMessageType } from "../../Alert"; import { CSVImportUIColumns, CellError, Mode } from "../CSVImportUI"; import { ScreenProps } from "./types"; export interface UploadCSVScreenProps extends ScreenProps { data: Row[]; headers: string[]; errors: ([string, string][] | undefined)[]; onSubmitComplete: (data: Row[], errors: (CellError[] | undefined)[]) => void; mode: Mode; /** * CSVをパースしたデータのアップロードがトリガーされた際に呼ばれる。 * 行ごとにデータをアップロードする。 * onUploadDataが指定されている場合、こちらは無視される。 */ onUploadDataByRow?: (args: { index: number; /** * 欠損したフィールドがある可能性があるため、型を緩くする。 */ row: Partial; mode: Mode; }) => Promise<{ /** * @deprecated 代わりに `errors` を使用してください。 */ error?: CellError; errors?: CellError[]; data?: Record; }>; /** * CSVをパースしたデータのアップロードがトリガーされた際に呼ばれる。 * 一括でデータをアップロードする。 */ onUploadData?: (args: { data: Partial[]; mode: Mode; }) => Promise<{ errorMessage?: AlertMessageType; data?: Record[]; }>; columns?: CSVImportUIColumns; title?: string; } export declare const UploadCSVScreen: >({ data, errors, headers, onSubmitComplete, mode, onUploadData, onUploadDataByRow, columns, title, }: UploadCSVScreenProps) => import("@emotion/react/jsx-runtime").JSX.Element;