import { EventEmitter, OnInit } from '@angular/core';
import { MultiSelect } from 'primeng-lts/multiselect';
import { AlSearchBarComponent } from "../al-search-bar/al-search-bar.component";
import * as i0 from "@angular/core";
export interface DynamicTableColumns {
    field: string;
    header: string;
    width?: string;
}
export declare class AlTableCaptionV2 implements OnInit {
    cols: DynamicTableColumns[];
    defaultColumns: DynamicTableColumns[];
    donwloadLabel: string;
    invalidSearchPatternText: string | null;
    searchPatternRegex: string | null;
    selectedColumns: DynamicTableColumns[];
    showColumnsSelector: boolean;
    showDownload: boolean;
    showSearch: boolean;
    storageKey: string;
    useLocalStorage: boolean;
    onInvalidSearchPattern: EventEmitter<void>;
    onChangeColumns: EventEmitter<{
        columns: DynamicTableColumns[];
    }>;
    onDownload: EventEmitter<boolean>;
    onSearched: EventEmitter<string>;
    multiSelect?: MultiSelect;
    alSearchBar?: AlSearchBarComponent;
    ngOnInit(): void;
    openMultiselect($event: MouseEvent): void;
    resetToDefaultColumns(): void;
    storeSelectedColumns(columns: DynamicTableColumns[]): void;
    onSearchChanged($event: string): void;
    onDownloadAll(): void;
    onChangeSelectedColumns($event: {
        value: DynamicTableColumns[];
    }): void;
    private inferDefaultColumns;
    private inferSelectedColumns;
    static ɵfac: i0.ɵɵFactoryDef<AlTableCaptionV2, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlTableCaptionV2, "al-table-caption-v2", never, { "cols": "cols"; "defaultColumns": "defaultColumns"; "donwloadLabel": "donwloadLabel"; "invalidSearchPatternText": "invalidSearchPatternText"; "searchPatternRegex": "searchPatternRegex"; "selectedColumns": "selectedColumns"; "showColumnsSelector": "showColumnsSelector"; "showDownload": "showDownload"; "showSearch": "showSearch"; "storageKey": "storageKey"; "useLocalStorage": "useLocalStorage"; }, { "onInvalidSearchPattern": "onInvalidSearchPattern"; "onChangeColumns": "onChangeColumns"; "onDownload": "onDownload"; "onSearched": "onSearched"; }, never, never>;
}
