import { Col, Row, Merge, Table, ExportRow, Button, Sheet } from './components';
import { ReactNode } from 'react';
export interface ExportExcelProps {
    /** @description 导出文件名称 @default 导出文件 */
    filename?: string;
    /** @description 导出按钮  @default 默认下载按钮 */
    button?: ReactNode;
    /** @description 导出文件格式 @default xlsx */
    type?: 'csv' | 'xlsx';
    /** @description 默认Sheet名称 @default sheet1 */
    defaultSheetName?: string;
    /** @description 是否开启列标题首字母大写转换 @default false */
    capitalize?: boolean;
    /** @description 子组件 @default --*/
    children?: ReactNode;
}
export interface ExportExcelType extends React.FC<ExportExcelProps> {
    Row: typeof Row;
    Col: typeof Col;
    Merge: typeof Merge;
    Table: typeof Table;
    Sheet: typeof Sheet;
    Button: typeof Button;
}
declare type Loading = {
    [group: string]: boolean;
};
declare type LoadData = {
    [group: string]: () => Promise<void>;
};
interface ExportExcelLocal {
    exportFileName?: string;
    export?: string;
}
interface Locale {
    locale: string;
    ExportExcel?: ExportExcelLocal;
}
interface ExportCxt {
    /** 数据加载中 */
    loading: Loading;
    /** 数据请求 */
    loadData: LoadData;
    /** 文件名称*/
    rows: ExportRow[];
    filename: string;
    fileType?: string;
    defaultSheetName: string;
    refresh?: number;
    setRows?: (callback: (preRows: ExportRow[]) => ExportRow[]) => void;
    updateLoading?: (group: string, loading: boolean) => void;
    updateLoadData?: (group: string, loadData: () => Promise<void>) => void;
    lang?: Locale;
    locale?: string;
    capitalize?: boolean;
}
export declare const ExportContext: import("react").Context<ExportCxt>;
declare const ExportExcel: ExportExcelType;
export default ExportExcel;
