import { MaybeRefOrGetter } from 'vue';
import { BglFormSchemaT } from '../types';
declare global {
    interface Window {
        XLSX: any;
    }
}
interface SheetData {
    headers: string[];
    data: Record<string, any>[];
}
export declare function useExcel(): {
    downloadExcel: <T>(data: T[], fileName?: string, schemaFn?: MaybeRefOrGetter<BglFormSchemaT<T>>) => Promise<void>;
    downloadCSV: (data: Record<string, any>[], fileName?: string, schema?: BglFormSchemaT<any>) => Promise<void>;
    readExcelFile: (file: File) => Promise<any[]>;
    ensureXLSXLoaded: () => Promise<any>;
    getSheetNames: (file: File) => Promise<string[]>;
    readSheetData: (file: File, sheetName: string, hasHeaders?: boolean) => Promise<SheetData>;
    getWorkbook: (file: File) => Promise<any>;
    isExcelSerialDate: (value: any) => boolean;
    excelSerialDateToJSDate: (serial: number) => Date;
    formatDate: (date: Date, includeTime?: boolean) => string;
};
export {};
//# sourceMappingURL=useExcel.d.ts.map