@expresscsv/react 0.1.25 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -4,11 +4,60 @@ declare interface BICOptions {
4
4
 
5
5
  declare type BooleanControlType = 'toggle' | 'checkbox' | 'dropdown';
6
6
 
7
+ export declare type ChunkSize = {
8
+ /** Size quota unit. */
9
+ unit: 'kb';
10
+ /** KB quota. Values <= 0 send all rows in one chunk. */
11
+ value: number;
12
+ } | {
13
+ /** Chunk by row count. */
14
+ unit: 'rows';
15
+ /** Rows per chunk. Values <= 0 send all rows in one chunk. */
16
+ value: number;
17
+ };
18
+
7
19
  /**
8
20
  * Color mode preference
9
21
  */
10
22
  export declare type ColorModePref = 'light' | 'dark' | 'system';
11
23
 
24
+ export declare interface ColumnMatch<TTargetField extends string = string> {
25
+ sourceColumnIndex: number;
26
+ targetField: TTargetField;
27
+ }
28
+
29
+ export declare type ColumnMatchHandler<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = ColumnMatchingFn<SchemaFieldName<TSchema>>;
30
+
31
+ export declare type ColumnMatchHandlerResult<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = ColumnMatchingResult<SchemaFieldName<TSchema>>;
32
+
33
+ export declare type ColumnMatchingFn<TTargetField extends string = string> = (data: ColumnMatchingParams) => Promise<ColumnMatchingResult<TTargetField>>;
34
+
35
+ export declare type ColumnMatchingOptions<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = ManagedColumnMatchingOptions | CustomColumnMatchingOptions<TSchema>;
36
+
37
+ export declare interface ColumnMatchingParams {
38
+ sessionId: string;
39
+ sourceColumns: ColumnMatchingSourceColumn[];
40
+ targetFields: ColumnMatchingTargetField[];
41
+ }
42
+
43
+ export declare interface ColumnMatchingResult<TTargetField extends string = string> {
44
+ matches: Array<ColumnMatch<TTargetField>>;
45
+ }
46
+
47
+ export declare interface ColumnMatchingSourceColumn {
48
+ sourceColumnIndex: number;
49
+ name: string;
50
+ sampleValues: string[];
51
+ }
52
+
53
+ export declare interface ColumnMatchingTargetField {
54
+ name: string;
55
+ label?: string;
56
+ type: string;
57
+ description?: string;
58
+ aliases: string[];
59
+ }
60
+
12
61
  declare const Countries: readonly [{
13
62
  readonly name: "Afghanistan";
14
63
  readonly alpha2: "AF";
@@ -1878,11 +1927,21 @@ declare const CurrencyCodes: readonly [{
1878
1927
  readonly numeric: "932";
1879
1928
  }];
1880
1929
 
1881
- export declare type CustomStorageOptions = {
1930
+ declare type CustomColumnMatchingOptions<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = {
1931
+ type: 'custom';
1932
+ columnMatchHandler: ColumnMatchHandler<TSchema>;
1933
+ };
1934
+
1935
+ declare type CustomPromptedEditsOptions<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = {
1882
1936
  type: 'custom';
1883
- get: (key: StorageKey) => Promise<StoredSession | null>;
1884
- set: (key: StorageKey, value: StoredSession) => Promise<void>;
1885
- remove: (key: StorageKey) => Promise<void>;
1937
+ promptedEditHandler: PromptedEditHandler<TSchema>;
1938
+ };
1939
+
1940
+ export declare type CustomSessionRecoveryOptions = {
1941
+ type: 'custom';
1942
+ get: (key: SessionRecoveryKey) => Promise<RecoveredSession | null>;
1943
+ set: (key: SessionRecoveryKey, value: RecoveredSession) => Promise<void>;
1944
+ remove: (key: SessionRecoveryKey) => Promise<void>;
1886
1945
  };
1887
1946
 
1888
1947
  declare interface DatetimeOptions {
@@ -1893,44 +1952,6 @@ export declare type DeepPartial<T> = {
1893
1952
  [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
1894
1953
  };
1895
1954
 
1896
- export declare interface DeliveryOptions<T> {
1897
- /** Callback for processing delivered chunks */
1898
- onData: (chunk: RecordsChunk<T>, next: () => void) => void | Promise<void>;
1899
- }
1900
-
1901
- /**
1902
- * Font source configuration for custom fonts
1903
- */
1904
- export declare type ECSVFontSource = {
1905
- source: 'google';
1906
- name: string;
1907
- weights?: (number | string)[];
1908
- } | {
1909
- source: 'custom';
1910
- url: string;
1911
- format?: 'woff2' | 'woff';
1912
- };
1913
-
1914
- /**
1915
- * Theme - can be either dual-mode (light/dark) or single-mode (applies to both)
1916
- */
1917
- export declare type ECSVTheme = ECSVThemeWithModes | ECSVThemeSingle;
1918
-
1919
- /**
1920
- * Single theme that applies to both light and dark modes
1921
- */
1922
- declare type ECSVThemeSingle = TailwindThemeVars;
1923
-
1924
- /**
1925
- * Theme with light and dark mode support
1926
- */
1927
- declare interface ECSVThemeWithModes {
1928
- modes: {
1929
- light: TailwindThemeVars;
1930
- dark: TailwindThemeVars;
1931
- };
1932
- }
1933
-
1934
1955
  declare interface ExBaseDef {
1935
1956
  typeName: string;
1936
1957
  }
@@ -2825,6 +2846,8 @@ declare interface ExpressCSVLocale {
2825
2846
  showAll: string;
2826
2847
  moveUp: string;
2827
2848
  moveDown: string;
2849
+ /** When the selected row has zero columns (cannot continue) */
2850
+ rowNotSelectable: string;
2828
2851
  };
2829
2852
  matchColumns: {
2830
2853
  loading: string;
@@ -2859,6 +2882,8 @@ declare interface ExpressCSVLocale {
2859
2882
  previewTooltip: string;
2860
2883
  /** Available: {rowCount}, {columnName} */
2861
2884
  previewShowing: TemplateString<'rowCount' | 'columnName'>;
2885
+ /** Available: {columnNumber} — 1-based index when the sheet header cell is empty */
2886
+ unnamedSourceColumn: TemplateString<'columnNumber'>;
2862
2887
  };
2863
2888
  matchOptions: {
2864
2889
  loading: string;
@@ -2951,27 +2976,27 @@ declare interface ExpressCSVLocale {
2951
2976
  filteredColumns: string;
2952
2977
  unfilteredColumns: string;
2953
2978
  columnsLabel: string;
2954
- transformTooltip: string;
2955
- transformTitle: string;
2956
- transformClose: string;
2957
- transformCloseDiscardTooltip: string;
2958
- transformCloseTooltip: string;
2959
- transformError: string;
2960
- transformPlaceholder: string;
2961
- transformGenerating: string;
2962
- transformApplying: string;
2963
- transformDiscard: string;
2964
- transformApply: string;
2965
- transformUnappliedTitle: string;
2966
- transformUnappliedDescription: string;
2967
- transformKeepEditing: string;
2968
- transformDiscardClose: string;
2969
- transformAbortTitle: string;
2970
- transformAbortDescription: string;
2971
- transformAbortClose: string;
2972
- transformSubmit: string;
2979
+ promptedEditsTooltip: string;
2980
+ promptedEditsTitle: string;
2981
+ promptedEditsClose: string;
2982
+ promptedEditsCloseDiscardTooltip: string;
2983
+ promptedEditsCloseTooltip: string;
2984
+ promptedEditsError: string;
2985
+ promptedEditsPlaceholder: string;
2986
+ promptedEditsGenerating: string;
2987
+ promptedEditsApplying: string;
2988
+ promptedEditsDiscard: string;
2989
+ promptedEditsApply: string;
2990
+ promptedEditsUnappliedTitle: string;
2991
+ promptedEditsUnappliedDescription: string;
2992
+ promptedEditsKeepEditing: string;
2993
+ promptedEditsDiscardClose: string;
2994
+ promptedEditsAbortTitle: string;
2995
+ promptedEditsAbortDescription: string;
2996
+ promptedEditsAbortClose: string;
2997
+ promptedEditsSubmit: string;
2973
2998
  };
2974
- phantomColumn: {
2999
+ emptyColumn: {
2975
3000
  /** Available: {number} */
2976
3001
  defaultName: TemplateString<'number'>;
2977
3002
  remove: string;
@@ -3002,11 +3027,6 @@ declare interface ExpressCSVLocale {
3002
3027
  /** User-facing locale type where every leaf is a plain `string`. */
3003
3028
  export declare type ExpressCSVLocaleInput = StripBrand<ExpressCSVLocale>;
3004
3029
 
3005
- /**
3006
- * Core step identifiers for the CSV import wizard
3007
- */
3008
- export declare type ExpressCSVStep = 'upload' | 'select-sheet' | 'select-header' | 'match-columns' | 'match-options' | 'review';
3009
-
3010
3030
  declare type ExPrimitiveType = ExString | ExNumber | ExCurrencyNumber | ExPercentageNumber | ExBoolean | ExDate | ExTime | ExDatetime | ExSelect<string | number> | ExMultiselect<string | number> | ExOptionalPrimitiveType;
3011
3031
 
3012
3032
  declare class ExRow<T extends ExRowShape> extends ExType<{
@@ -3462,6 +3482,19 @@ declare abstract class ExType<Output, Def extends ExBaseDef, Input = Output> {
3462
3482
  protected _addCheck(type: string, params?: Record<string, unknown>, message?: string): ValidatorCheck;
3463
3483
  }
3464
3484
 
3485
+ /**
3486
+ * Font source configuration for custom fonts
3487
+ */
3488
+ export declare type FontSource = {
3489
+ source: 'google';
3490
+ name: string;
3491
+ weights?: (number | string)[];
3492
+ } | {
3493
+ source: 'custom';
3494
+ url: string;
3495
+ format?: 'woff2' | 'woff';
3496
+ };
3497
+
3465
3498
  declare interface GTINOptions {
3466
3499
  message?: string;
3467
3500
  }
@@ -3478,6 +3511,11 @@ export declare class ImportCancelledError extends Error {
3478
3511
  constructor(message?: string);
3479
3512
  }
3480
3513
 
3514
+ export declare interface ImportDeliveryContext extends ImportSessionContext {
3515
+ /** Stable ID for the delivery attempt that completed or failed */
3516
+ deliveryId: string;
3517
+ }
3518
+
3481
3519
  /**
3482
3520
  * Importer preload mode
3483
3521
  */
@@ -3486,10 +3524,15 @@ export declare enum ImporterMode {
3486
3524
  PRELOAD = "preload"
3487
3525
  }
3488
3526
 
3527
+ export declare type ImportErrorContext = ImportSessionContext & {
3528
+ /** Present when an error occurs while delivering records */
3529
+ deliveryId?: string;
3530
+ };
3531
+
3489
3532
  /**
3490
- * Importer lifecycle state
3533
+ * Importer lifecycle status
3491
3534
  */
3492
- export declare enum ImporterState {
3535
+ export declare enum ImporterStatus {
3493
3536
  UNINITIALIZED = "uninitialized",
3494
3537
  INITIALIZING = "initializing",
3495
3538
  READY = "ready",
@@ -3501,8 +3544,13 @@ export declare enum ImporterState {
3501
3544
  DESTROYED = "destroyed"
3502
3545
  }
3503
3546
 
3547
+ /**
3548
+ * Core step identifiers for the CSV importer
3549
+ */
3550
+ export declare type ImporterStep = 'upload' | 'select-sheet' | 'select-header' | 'match-columns' | 'match-options' | 'review';
3551
+
3504
3552
  export declare interface ImportSessionContext {
3505
- /** Generated session ID for the current import run */
3553
+ /** Stable ID that groups one import run across chunks and lifecycle callbacks */
3506
3554
  sessionId: string;
3507
3555
  }
3508
3556
 
@@ -3510,10 +3558,22 @@ export declare type Infer<T extends ExType<unknown, ExBaseDef, unknown>> = T ext
3510
3558
 
3511
3559
  declare type IPAddressVersion = 'v4' | 'v6' | 'all';
3512
3560
 
3513
- export declare type LocalStorageOptions = {
3561
+ export declare type LocalSessionRecoveryOptions = {
3514
3562
  type: 'local';
3515
3563
  };
3516
3564
 
3565
+ declare type ManagedColumnMatchingOptions = {
3566
+ type: 'managed';
3567
+ exact?: boolean;
3568
+ caseInsensitive?: boolean;
3569
+ normalized?: boolean;
3570
+ inference?: boolean;
3571
+ };
3572
+
3573
+ declare type ManagedPromptedEditsOptions = {
3574
+ type: 'managed';
3575
+ };
3576
+
3517
3577
  declare interface MultiselectOptions {
3518
3578
  enforceCaseSensitiveMatch?: boolean;
3519
3579
  message?: string;
@@ -3523,21 +3583,21 @@ declare interface MultiselectOptions {
3523
3583
  * Options for the open() method
3524
3584
  * Requires an onData callback for delivery
3525
3585
  */
3526
- export declare type OpenOptions<T> = DeliveryOptions<T> & {
3527
- /** Number of records per chunk (default: 1000) */
3528
- chunkSize?: number;
3586
+ export declare type OpenOptions<T> = {
3587
+ /** Callback for processing delivered chunks */
3588
+ onData: (chunk: RecordsChunk<T>, next: () => void) => void | Promise<void>;
3589
+ /** Chunk size by KB quota or row count. Defaults to 500 KB. Values <= 0 send one chunk. */
3590
+ chunkSize?: ChunkSize;
3529
3591
  /** Called when all chunks have been processed */
3530
- onComplete?: (context: ImportSessionContext) => void;
3592
+ onComplete?: (context: ImportDeliveryContext) => void;
3531
3593
  /** Called when the user cancels the import */
3532
3594
  onCancel?: (context: ImportSessionContext) => void;
3533
3595
  /** Called when an error occurs */
3534
- onError?: (error: Error, context: ImportSessionContext) => void;
3596
+ onError?: (error: Error, context: ImportErrorContext) => void;
3535
3597
  /** Called when the importer opens */
3536
- onImporterOpen?: () => void;
3537
- /** Called when the importer closes */
3538
- onImporterClose?: (reason: 'user_close' | 'cancel' | 'complete' | 'error') => void;
3539
- /** Called when the step changes in the wizard */
3540
- onStepChange?: (stepId: ExpressCSVStep, previousStepId?: ExpressCSVStep) => void;
3598
+ onOpen?: (context: ImportSessionContext) => void;
3599
+ /** Called when the importer step changes */
3600
+ onStepChange?: (stepId: ImporterStep, previousStepId?: ImporterStep) => void;
3541
3601
  };
3542
3602
 
3543
3603
  declare interface PersistedImportSessionData {
@@ -3566,7 +3626,6 @@ declare interface PrimitiveExBaseDef extends ExBaseDef {
3566
3626
  columnNameAliases?: string[];
3567
3627
  description?: string;
3568
3628
  label?: string;
3569
- example?: string;
3570
3629
  message?: string;
3571
3630
  checks?: ValidatorCheck[];
3572
3631
  defaultValue?: unknown | (() => unknown);
@@ -3594,13 +3653,6 @@ declare abstract class PrimitiveExType<Output, Def extends PrimitiveExBaseDef, I
3594
3653
  * @returns The type instance for method chaining
3595
3654
  */
3596
3655
  label(text: string): this;
3597
- /**
3598
- * Sets an example value for this field
3599
- *
3600
- * @param text - Example text
3601
- * @returns The type instance for method chaining
3602
- */
3603
- example(text: string): this;
3604
3656
  /**
3605
3657
  * Adds a custom refinement validator to this field.
3606
3658
  *
@@ -3643,6 +3695,55 @@ declare abstract class PrimitiveExType<Output, Def extends PrimitiveExBaseDef, I
3643
3695
  protected _replaceOrAddCheck(check: ValidatorCheck, existingIndex: number): void;
3644
3696
  }
3645
3697
 
3698
+ export declare type PromptedEditHandler<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = PromptedEditsFn<SchemaFieldName<TSchema>>;
3699
+
3700
+ export declare type PromptedEditResult<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = PromptedEditsResult<SchemaFieldName<TSchema>>;
3701
+
3702
+ export declare type PromptedEditsChange<TField extends string = string> = {
3703
+ type: 'add';
3704
+ values: Partial<Record<TField, unknown>>;
3705
+ } | {
3706
+ type: 'update';
3707
+ rowId: string;
3708
+ values: Partial<Record<TField, unknown>>;
3709
+ } | {
3710
+ type: 'remove';
3711
+ rowId: string;
3712
+ };
3713
+
3714
+ export declare interface PromptedEditsField<TField extends string = string> {
3715
+ key: TField;
3716
+ name: string;
3717
+ type: string;
3718
+ sampleValues: unknown[];
3719
+ }
3720
+
3721
+ export declare type PromptedEditsFn<TField extends string = string> = (data: PromptedEditsParams<TField>) => Promise<PromptedEditsResult<TField>>;
3722
+
3723
+ export declare type PromptedEditsOptions<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> = ManagedPromptedEditsOptions | CustomPromptedEditsOptions<TSchema>;
3724
+
3725
+ export declare interface PromptedEditsParams<TField extends string = string> {
3726
+ sessionId: string;
3727
+ prompt: string;
3728
+ fields: Array<PromptedEditsField<TField>>;
3729
+ rows: Array<PromptedEditsRow<TField>>;
3730
+ totalRows: number;
3731
+ }
3732
+
3733
+ export declare type PromptedEditsResult<TField extends string = string> = {
3734
+ type: 'success';
3735
+ changes: Array<PromptedEditsChange<TField>>;
3736
+ } | {
3737
+ type: 'no-op';
3738
+ message: string;
3739
+ };
3740
+
3741
+ export declare interface PromptedEditsRow<TField extends string = string> {
3742
+ rowId: string;
3743
+ rowIndex: number;
3744
+ values: Partial<Record<TField, unknown>>;
3745
+ }
3746
+
3646
3747
  declare type Protocol = 'http' | 'https' | 'ftp' | 'sftp' | 'file' | 'mailto' | 'tel';
3647
3748
 
3648
3749
  /**
@@ -3653,16 +3754,20 @@ export declare interface RecordsChunk<T> {
3653
3754
  records: T[];
3654
3755
  /** Total number of chunks */
3655
3756
  totalChunks: number;
3656
- /** Current chunk index (0-based) */
3657
- currentChunkIndex: number;
3757
+ /** Chunk index within this delivery (0-based) */
3758
+ chunkIndex: number;
3658
3759
  /** Total number of records across all chunks */
3659
3760
  totalRecords: number;
3660
- /** Generated session ID for the current import run */
3761
+ /** Stable ID that groups one import run across chunks and lifecycle callbacks */
3661
3762
  sessionId: string;
3662
- /** Stable per-chunk idempotency key */
3663
- chunkIdempotencyKey: string;
3763
+ /** Stable ID for this delivery attempt within the import session */
3764
+ deliveryId: string;
3664
3765
  }
3665
3766
 
3767
+ export declare type RecoveredSession = PersistedImportSessionData;
3768
+
3769
+ export declare type RecoveredSessionData = PersistedImportSessionPayload;
3770
+
3666
3771
  declare type RefineBatchResultItem = {
3667
3772
  valid: boolean;
3668
3773
  message?: string;
@@ -3692,6 +3797,30 @@ declare type RefineResultItem = {
3692
3797
  };
3693
3798
  };
3694
3799
 
3800
+ export declare type SchemaFieldName<TSchema extends ExType<unknown, ExBaseDef, unknown>> = Extract<keyof Infer<TSchema>, string>;
3801
+
3802
+ export declare interface SDKOptions<TSchema extends ExType<unknown, ExBaseDef, unknown>> {
3803
+ schema: TSchema;
3804
+ getSessionToken: () => Promise<string>;
3805
+ /** Stable namespace string your app assigns to this importer configuration or workflow */
3806
+ importNamespace: string;
3807
+ title?: string;
3808
+ debug?: boolean;
3809
+ preload?: boolean;
3810
+ theme?: Theme;
3811
+ colorMode?: ColorModePref;
3812
+ customCSS?: string;
3813
+ fonts?: Record<string, FontSource>;
3814
+ stepDisplay?: 'progressBar' | 'segmented' | 'numbered';
3815
+ previewSchemaBeforeUpload?: boolean;
3816
+ columnMatching?: ColumnMatchingOptions<TSchema>;
3817
+ promptedEdits?: PromptedEditsOptions<TSchema>;
3818
+ templateDownload?: TemplateDownloadOptions<TSchema>;
3819
+ sessionRecovery?: SessionRecoveryOptions;
3820
+ locale?: DeepPartial<ExpressCSVLocaleInput>;
3821
+ disableStatusStep?: boolean;
3822
+ }
3823
+
3695
3824
  declare interface SelectOption<TValue extends string | number = string | number> {
3696
3825
  label: string;
3697
3826
  value: TValue;
@@ -3704,13 +3833,9 @@ declare interface SelectOptions {
3704
3833
  message?: string;
3705
3834
  }
3706
3835
 
3707
- export declare type StorageKey = PersistedImportSessionKey;
3708
-
3709
- export declare type StorageOptions = LocalStorageOptions | CustomStorageOptions;
3710
-
3711
- export declare type StoredSession = PersistedImportSessionData;
3836
+ export declare type SessionRecoveryKey = PersistedImportSessionKey;
3712
3837
 
3713
- export declare type StoredSessionData = PersistedImportSessionPayload;
3838
+ export declare type SessionRecoveryOptions = LocalSessionRecoveryOptions | CustomSessionRecoveryOptions;
3714
3839
 
3715
3840
  declare type StripBrand<T> = {
3716
3841
  [K in keyof T]: T[K] extends TemplateString<string> ? string : T[K] extends object ? StripBrand<T[K]> : T[K];
@@ -3784,6 +3909,26 @@ declare type TemplateString<TVars extends string = string> = string & {
3784
3909
  readonly __vars: TVars;
3785
3910
  };
3786
3911
 
3912
+ /**
3913
+ * Theme - can be either dual-mode (light/dark) or single-mode (applies to both)
3914
+ */
3915
+ export declare type Theme = ThemeWithModes | ThemeSingle;
3916
+
3917
+ /**
3918
+ * Single theme that applies to both light and dark modes
3919
+ */
3920
+ declare type ThemeSingle = TailwindThemeVars;
3921
+
3922
+ /**
3923
+ * Theme with light and dark mode support
3924
+ */
3925
+ declare interface ThemeWithModes {
3926
+ modes: {
3927
+ light: TailwindThemeVars;
3928
+ dark: TailwindThemeVars;
3929
+ };
3930
+ }
3931
+
3787
3932
  /**
3788
3933
  * Time validation options
3789
3934
  */
@@ -3800,33 +3945,12 @@ declare interface URLOptions {
3800
3945
  message?: string;
3801
3946
  }
3802
3947
 
3803
- export declare function useExpressCSV<TSchema extends ExType<unknown, ExBaseDef, unknown>>({ schema, title, importIdentifier, getSessionToken, debug, preload, theme, colorMode, customCSS, fonts, stepDisplay, previewSchemaBeforeUpload, aiColumnMatching, aiTransform, templateDownload, storage, locale, disableStatusStep, }: UseExpressCSVOptions<TSchema>): {
3948
+ export declare function useExpressCSV<TSchema extends ExType<unknown, ExBaseDef, unknown>>({ schema, title, importNamespace, getSessionToken, debug, preload, theme, colorMode, customCSS, fonts, stepDisplay, previewSchemaBeforeUpload, columnMatching, promptedEdits, templateDownload, sessionRecovery, locale, disableStatusStep, }: UseExpressCSVOptions<TSchema>): {
3804
3949
  open: (options: OpenOptions<Infer<TSchema>>) => void;
3805
- importerState: ImporterState;
3806
- isInitialising: boolean;
3807
- isOpen: boolean;
3950
+ status: ImporterStatus;
3808
3951
  };
3809
3952
 
3810
- export declare interface UseExpressCSVOptions<TSchema extends ExType<unknown, ExBaseDef, unknown>> {
3811
- schema: TSchema;
3812
- title?: string;
3813
- importIdentifier: string;
3814
- getSessionToken: () => Promise<string>;
3815
- debug?: boolean;
3816
- preload?: boolean;
3817
- theme?: ECSVTheme;
3818
- colorMode?: ColorModePref;
3819
- customCSS?: string;
3820
- fonts?: Record<string, ECSVFontSource>;
3821
- stepDisplay?: 'progressBar' | 'segmented' | 'numbered';
3822
- previewSchemaBeforeUpload?: boolean;
3823
- aiColumnMatching?: boolean;
3824
- aiTransform?: boolean;
3825
- templateDownload?: TemplateDownloadOptions<TSchema>;
3826
- storage?: StorageOptions;
3827
- locale?: DeepPartial<ExpressCSVLocaleInput>;
3828
- disableStatusStep?: boolean;
3829
- }
3953
+ export declare type UseExpressCSVOptions<TSchema extends ExType<unknown, ExBaseDef, unknown>> = SDKOptions<TSchema>;
3830
3954
 
3831
3955
  declare type UUIDVersion = 'v1' | 'v4' | 'v5' | 'all';
3832
3956