import { EventEmitter, OnChanges } from '@angular/core';
import 'jspdf-autotable';
import { TranslationService } from '../../services/translation.service';
import * as i0 from "@angular/core";
export interface ColumnOption {
    field: string;
    header: string;
    selected: boolean;
}
interface ExportFormat {
    value: 'xlsx' | 'pdf';
    label: string;
    icon: string;
    description: string;
}
interface ExportScope {
    value: 'all' | 'selected';
    label: string;
    icon: string;
    description: string;
}
export declare class ExportDialogComponent implements OnChanges {
    private translationService;
    visible: boolean;
    allRecords: any[];
    selectedRecords: any[];
    statusLabels?: {
        [key: string]: string;
    };
    translationPrefix: string;
    set availableColumns(columns: ColumnOption[]);
    visibleChange: EventEmitter<boolean>;
    exportFormat: 'xlsx' | 'pdf';
    exportScope: 'all' | 'selected';
    formats: ExportFormat[];
    scopes: ExportScope[];
    columns: ColumnOption[];
    constructor(translationService: TranslationService);
    ngOnChanges(): void;
    private initializeFormats;
    private initializeScopes;
    get recordsToExport(): any[];
    get selectedColumnsCount(): number;
    get canExport(): boolean;
    onHide(): void;
    selectAllColumns(): void;
    deselectAllColumns(): void;
    export(): void;
    private exportToExcel;
    private exportToPDF;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExportDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ExportDialogComponent, "sia-export-dialog", never, { "visible": { "alias": "visible"; "required": false; }; "allRecords": { "alias": "allRecords"; "required": false; }; "selectedRecords": { "alias": "selectedRecords"; "required": false; }; "statusLabels": { "alias": "statusLabels"; "required": false; }; "translationPrefix": { "alias": "translationPrefix"; "required": false; }; "availableColumns": { "alias": "availableColumns"; "required": false; }; }, { "visibleChange": "visibleChange"; }, never, never, true, never>;
}
export {};
