/** * Internal types for IOI Table composable modules. * These types are not part of the public API. */ import type { ColumnDef, CsvDelimiter, CsvImportMapping, IoiSemanticEvent, IoiSemanticEventType } from '../../types'; /** * Column definition for CSV export. */ export interface ExportColumn { fieldPath: string; header: string; } /** * Binding between a column and CSV import source. */ export interface ImportColumnBinding { columnId: string; field: string; header: string; column: Pick, 'type' | 'validate'>; } /** * Parsed CSV import session state. */ export interface ParsedCsvImportSession { delimiter: CsvDelimiter; hasHeader: boolean; headers: string[]; dataRows: string[][]; previewRowLimit: number; maxColumnCount: number; columns: ImportColumnBinding[]; mapping: CsvImportMapping; } /** * Debounce timer management. */ export interface FilterDebounceTimers { column: Map>; globalSearch: ReturnType | null; } /** * Event emitter function type. */ export type EventEmitter = (type: IoiSemanticEventType, payload: TPayload) => IoiSemanticEvent;