import { SdTableFilterRequest } from '../services/table-filter/table-filter.model';
export interface SdTableOptionExport<T = any> {
    key?: string;
    visible?: 'ALL' | 'EXCEL' | 'CSV';
    enableUpload?: boolean;
    fileName?: string;
    max?: number;
    maxItemsPerRequest?: number;
    batch?: number;
    items?: (filterRequest: SdTableFilterRequest) => T[] | Promise<T[]> | Promise<{
        items: any[];
        total: number;
    }>;
    mapping?: (items: T[], fileName?: string) => T[] | Promise<T[]>;
    columns?: SdTableOptionExportColumn<T>[];
    sheets?: {
        name: string;
        items: any[] | ((items?: any[]) => any[] | Promise<any[]>);
        fields: string[];
    }[];
}
export interface SdTableOptionExportColumn<T = any> {
    field: string;
    title: string;
    description?: string;
    width?: string;
    transform?: (value: any, rowData: T) => string;
    export?: {
        disabled: boolean;
    };
}
