import { EventEmitter, OnChanges, OnDestroy, OnInit, 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, OnInit {
    advancedHeader: Array<{
        header: string;
        rowspan: number;
        colspan: number;
        [prop: string]: any;
    }>;
    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;
    constructor();
    ngOnInit(): void;
    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": "advancedHeader"; "maxWidth": "maxWidth"; "minWidth": "minWidth"; "field": "field"; "header": "header"; "sortable": "sortable"; "editable": "editable"; "filterable": "filterable"; "closeFilterWhenScroll": "closeFilterWhenScroll"; "cellClass": "cellClass"; "nestedColumnIndent": "nestedColumnIndent"; "width": "width"; "fixedLeft": "fixedLeft"; "fixedRight": "fixedRight"; "extraOptions": "extraOptions"; "order": "order"; "nestedColumn": "nestedColumn"; "filterList": "filterList"; "filterMultiple": "filterMultiple"; "filterIconActive": "filterIconActive"; "filterBoxWidth": "filterBoxWidth"; "filterBoxHeight": "filterBoxHeight"; "beforeFilter": "beforeFilter"; "customFilterTemplate": "customFilterTemplate"; "extraFilterTemplate": "extraFilterTemplate"; "searchFn": "searchFn"; "fieldType": "fieldType"; }, { "filterChange": "filterChange"; "filterToggle": "filterToggle"; }, ["cellCmp", "cellEditCmp", "headCellTmpl"], never, false>;
}
