import { EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
import { Observable } from 'rxjs';
import { FilterConfig } from '../data-table.model';
import { DataTableCellEditTmplComponent } from './data-table-cell-edit-tmpl.component';
import { DataTableCellViewTmplComponent } from './data-table-cell-view-tmpl.component';
import { DataTableHeadCellTmplComponent } from './data-table-head-cell-tmpl.component';
import * as i0 from "@angular/core";
export declare class DataTableColumnTmplComponent implements OnChanges, OnDestroy {
    advancedHeader: Array<{
        header: string;
        rowspan: number;
        colspan: number;
        [prop: string]: any;
    }>;
    headCellApplyAll: boolean;
    maxWidth: string;
    minWidth: string;
    field: string;
    header: string;
    sortable: boolean;
    editable: boolean;
    filterable: boolean;
    closeFilterWhenScroll: boolean;
    cellClass: string;
    nestedColumnIndent: number;
    width: string;
    fixedLeft?: string;
    fixedRight?: string;
    extraOptions: any;
    order: number;
    nestedColumn: boolean;
    /**
     * 传入筛选列表
     */
    filterList: Array<FilterConfig>;
    filterChange: EventEmitter<FilterConfig[]>;
    filterToggle: EventEmitter<{
        isOpen: boolean;
        checklist: FilterConfig[];
    }>;
    filterMultiple: boolean;
    filterIconActive: boolean;
    filterBoxWidth: any;
    filterBoxHeight: any;
    beforeFilter: (value: any) => boolean | Promise<boolean> | Observable<boolean>;
    cellCmp: DataTableCellViewTmplComponent;
    cellEditCmp: DataTableCellEditTmplComponent;
    headCellTmpl: DataTableHeadCellTmplComponent;
    customFilterTemplate: TemplateRef<any>;
    extraFilterTemplate: TemplateRef<any>;
    searchFn: (term: string) => Observable<Array<any>>;
    orderChange: EventEmitter<SimpleChanges>;
    widthChange: EventEmitter<SimpleChanges>;
    _formatter: (item: any, row?: any) => string;
    selected: boolean;
    fieldType: string;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    emitFilterData(filterData: any): void;
    emitFilterToggle(data: {
        isOpen: boolean;
        checklist: FilterConfig[];
    }): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataTableColumnTmplComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DataTableColumnTmplComponent, "d-column", never, { "advancedHeader": { "alias": "advancedHeader"; "required": false; }; "headCellApplyAll": { "alias": "headCellApplyAll"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "field": { "alias": "field"; "required": false; }; "header": { "alias": "header"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "closeFilterWhenScroll": { "alias": "closeFilterWhenScroll"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "nestedColumnIndent": { "alias": "nestedColumnIndent"; "required": false; }; "width": { "alias": "width"; "required": false; }; "fixedLeft": { "alias": "fixedLeft"; "required": false; }; "fixedRight": { "alias": "fixedRight"; "required": false; }; "extraOptions": { "alias": "extraOptions"; "required": false; }; "order": { "alias": "order"; "required": false; }; "nestedColumn": { "alias": "nestedColumn"; "required": false; }; "filterList": { "alias": "filterList"; "required": false; }; "filterMultiple": { "alias": "filterMultiple"; "required": false; }; "filterIconActive": { "alias": "filterIconActive"; "required": false; }; "filterBoxWidth": { "alias": "filterBoxWidth"; "required": false; }; "filterBoxHeight": { "alias": "filterBoxHeight"; "required": false; }; "beforeFilter": { "alias": "beforeFilter"; "required": false; }; "customFilterTemplate": { "alias": "customFilterTemplate"; "required": false; }; "extraFilterTemplate": { "alias": "extraFilterTemplate"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; "fieldType": { "alias": "fieldType"; "required": false; }; }, { "filterChange": "filterChange"; "filterToggle": "filterToggle"; }, ["cellCmp", "cellEditCmp", "headCellTmpl"], never, false, never>;
}
