import { OnInit, EventEmitter, SimpleChanges } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
import * as i0 from "@angular/core";
interface ListView {
    filterName: string;
    order: number;
    isDefault: boolean;
    conditions: ListViewFilter[];
    columns: ListViewColumn[];
    showActions?: boolean;
}
interface ListViewFilter {
    field: string;
    operator: string;
    value: string;
}
interface ListViewColumn {
    name: string;
    sortable: boolean;
    filterable: boolean;
}
export declare class ListViewFilterComponent implements OnInit {
    private fb;
    listViews: ListView[];
    tableFilterArray: any;
    selectedView: string;
    displayedColumns: any;
    availableOperators: {
        label: string;
        value: string;
    }[];
    listViewEmit: EventEmitter<any>;
    isDropdownOpen: boolean;
    isModalOpen: boolean;
    isDeleteModalOpen: boolean;
    isAdding: boolean;
    viewToDelete: ListView | null;
    editingView: FormGroup;
    isColumnDropdownOpen: boolean[];
    isOperatorDropdownOpen: boolean[];
    isValueDropdownOpen: boolean[];
    isColumnNameDropdownOpen: boolean[];
    constructor(fb: FormBuilder);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    get conditions(): FormArray;
    get columns(): FormArray;
    addFilter(): void;
    removeFilter(index: number): void;
    addColumn(): void;
    removeColumn(index: number): void;
    toggleDropdown(): void;
    selectListView(view: any): void;
    startEdit(view: ListView, event?: Event): void;
    startAdd(): void;
    save(): void;
    closeModal(): void;
    showActions(view: ListView): void;
    hideActions(): void;
    confirmDelete(view: ListView, event?: Event): void;
    closeDeleteModal(): void;
    deleteConfirmed(): void;
    getFilteredColumns(term: string): any[];
    getColumnColumns(term: string): any[];
    getPossibleValues(field: string, term: string): string[];
    getFilteredOperators(term: string): {
        label: string;
        value: string;
    }[];
    operatorInput: string[];
    onOperatorInput(value: string, index: number): void;
    getOperatorLabel(value: string): string;
    onFocus(type: string, index: number): void;
    onBlur(type: string, index: number): void;
    selectOption(type: string, index: number, value: string): void;
    getLabelByFieldName(fieldName: string): string;
    onManualInput(inputValue: string, index: number): void;
    onDocumentClick(event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListViewFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ListViewFilterComponent, "app-list-view-filter", never, { "listViews": { "alias": "listViews"; "required": false; }; "tableFilterArray": { "alias": "tableFilterArray"; "required": false; }; "selectedView": { "alias": "selectedView"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "availableOperators": { "alias": "availableOperators"; "required": false; }; }, { "listViewEmit": "listViewEmit"; }, never, never, true, never>;
}
export {};
