import { AfterContentInit, Injector, OnInit, QueryList } from '@angular/core';
import type { OColumn } from '../../../column/o-column.class';
import { OFilterColumn, OTableColumnsFilterColumnComponent, OTableFilterMode } from './columns/o-table-columns-filter-column.component';
import { OTableBase } from '../../../o-table-base.class';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER: string[];
export declare const DEFAULT_OUTPUTS_O_TABLE_COLUMN_FILTER: any[];
export declare class OTableColumnsFilterComponent implements OnInit, AfterContentInit {
    protected injector: Injector;
    table: OTableBase;
    static DEFAULT_COMPARISON_TYPE: string;
    static MODEL_COMPARISON_TYPE: string;
    static readonly OTableColumnsFilterModes: OTableFilterMode[];
    protected _columns: string;
    protected _mode: OTableFilterMode;
    preloadValues: boolean;
    filterValuesInData: 'current-page' | 'all-data';
    protected _columnsArray: Array<OFilterColumn>;
    protected columnsComparisonProperty: object;
    filterColumns: QueryList<OTableColumnsFilterColumnComponent>;
    constructor(injector: Injector, table: OTableBase);
    ngOnInit(): void;
    ngAfterContentInit(): void;
    get mode(): OTableFilterMode;
    set mode(val: OTableFilterMode);
    set columns(arg: string);
    set columnsArray(arg: OFilterColumn[]);
    get columnsArray(): OFilterColumn[];
    getFilterColumnByAttr(attr: string): OTableColumnsFilterColumnComponent;
    private getFilterValuesInDataByDefault;
    isColumnFilterable(attr: string): boolean;
    getSortValueOfFilterColumn(attr: string): string;
    getStartViewValueOfFilterColumn(attr: string): string;
    getQueryMethodOfFilterColumn(attr: string): string;
    getFilterValuesInData(attr: string): 'current-page' | 'all-data';
    getColumnComparisonValue(column: OColumn, val: any): any;
    parseColumns(columns: string): OFilterColumn[];
    parseFilterColumns(columns: QueryList<OTableColumnsFilterColumnComponent>): OFilterColumn[];
    static ɵfac: i0.ɵɵFactoryDeclaration<OTableColumnsFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OTableColumnsFilterComponent, "o-table-columns-filter", never, { "columns": { "alias": "columns"; "required": false; }; "preloadValues": { "alias": "preload-values"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "filterValuesInData": { "alias": "filter-values-in-data"; "required": false; }; }, {}, ["filterColumns"], never, true, never>;
}
