import { Ref, ShallowRef } from 'vue'; export interface DelimitedTable { columns: string[]; rows: Record[]; rawRows: string[][]; delimiter: string; } export interface ParseDelimitedTextOptions { delimiter?: string; headers?: readonly string[]; hasHeaderRow?: boolean; trim?: boolean; } export interface FileImportValidationOptions { accept?: string | readonly string[]; maxSizeBytes?: number; } export interface FileImportOptions extends FileImportValidationOptions { encoding?: string; parse?: (text: string, file: File) => TResult | Promise; } export interface UseFileImportReturn { loading: ShallowRef; error: Ref; fileName: Ref; result: Ref; importFile: (file: File) => Promise; clear: () => void; } /** Stateful file reader for plugin import flows with shared validation and error handling. */ export declare function useFileImport(options?: FileImportOptions): UseFileImportReturn; export declare function validateImportFile(file: File, options?: FileImportValidationOptions): void; export declare function readFileAsText(file: File, encoding?: string): Promise; export declare function parseDelimitedText(text: string, options?: ParseDelimitedTextOptions): DelimitedTable; export declare function detectDelimiter(text: string): string;