/**
 * Options for exporting tabular data to CSV.
 */
export type ExportOptions<T extends object> = {
    /**
     * Array of data objects to export. Each object represents one row in the table.
     */
    data: T[];
    /**
     * Optional name for the exported file.
     * @default "export.csv"
     */
    fileName?: string;
    /**
     * Optional list of object keys to export as columns.
     * If omitted, all keys from the first row will be used.
     */
    columns?: (keyof T)[];
    /**
     * Optional map of column keys to custom header labels.
     * @example { firstName: 'First Name' }
     */
    headers?: Partial<Record<keyof T, string>>;
    /**
     * Optional delimiter to use between values in the CSV.
     * You can use `";"` or `"\t"` for other formats.
     * @default ","
     */
    delimiter?: string;
    /**
     * Whether to include UTF-8 BOM (useful for Excel).
     * @default true
     */
    withBom?: boolean;
};
/**
 * React hook for exporting tabular data to a downloadable CSV file.
 *
 * @template T Type of each data row object.
 * @returns An object with a `exportToCSV` function to trigger the export.
 *
 * @example
 * const { exportToCSV } = useTableExport<User>();
 * exportToCSV({ data: users, fileName: 'users.csv', delimiter: ';' });
 */
declare const useTableExport: <T extends object>() => {
    exportToCSV: ({ data, fileName, columns, headers, delimiter, withBom }: ExportOptions<T>) => void;
};
export default useTableExport;
