import { AfterViewInit, ElementRef, EventEmitter, Injector, OnInit } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { MatCheckboxChange } from '@angular/material/checkbox';
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
import { SnackBarService } from '../../../services/snackbar.service';
import { OTranslateService } from '../../../services/translate/o-translate.service';
import { Expression } from '../../../types/expression.type';
import { FormValueOptions } from '../../../types/form-value-options.type';
import { OInputsOptions } from '../../../types/o-inputs-options.type';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_SEARCH_INPUT: string[];
export declare const DEFAULT_OUTPUTS_O_SEARCH_INPUT: string[];
declare type ColumnObject = {
    column: string;
    checked: boolean;
};
export declare class OSearchInputComponent implements OnInit, AfterViewInit {
    protected injector: Injector;
    protected elRef: ElementRef;
    onSearch: EventEmitter<any>;
    label: string;
    colArray: ColumnObject[];
    _placeholder: string;
    get placeholder(): string;
    set placeholder(value: string);
    get labelVisible(): boolean;
    width: string;
    columns: string;
    showCaseSensitiveCheckbox: boolean;
    showMenu: boolean;
    protected _filterCaseSensitive: boolean;
    protected _floatLabel: FloatLabelType;
    protected _appearance: MatFormFieldAppearance;
    protected formGroup: FormGroup;
    protected term: FormControl;
    protected translateService: OTranslateService;
    protected oInputsOptions: OInputsOptions;
    protected snackBarService: SnackBarService;
    constructor(injector: Injector, elRef: ElementRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    get floatLabel(): FloatLabelType;
    set floatLabel(value: FloatLabelType);
    get appearance(): MatFormFieldAppearance;
    set appearance(value: MatFormFieldAppearance);
    get filterCaseSensitive(): boolean;
    set filterCaseSensitive(value: boolean);
    getFormGroup(): FormGroup;
    getValue(): string;
    setValue(val: string, options?: FormValueOptions): void;
    getFormControl(): FormControl;
    get hasCustomWidth(): boolean;
    get showFilterMenu(): boolean;
    isChecked(column: ColumnObject): boolean;
    onCheckboxChange(column: ColumnObject, event: MatCheckboxChange): void;
    onSelectAllChange(event: MatCheckboxChange): void;
    areAllColumnsChecked(): boolean;
    getCountColumnsChecked(): number;
    onFilterCaseSensitiveChange(event: MatCheckboxChange): void;
    getActiveColumns(): string[];
    setActiveColumns(arg: string[]): void;
    protected checkActiveColumns(): boolean;
    protected triggerOnSearch(): void;
    onMenuClosed(): void;
    get filterExpression(): Expression;
    static ɵfac: i0.ɵɵFactoryDeclaration<OSearchInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OSearchInputComponent, "o-search-input", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "label": { "alias": "label"; "required": false; }; "width": { "alias": "width"; "required": false; }; "floatLabel": { "alias": "float-label"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "filterCaseSensitive": { "alias": "filter-case-sensitive"; "required": false; }; "showCaseSensitiveCheckbox": { "alias": "show-case-sensitive-checkbox"; "required": false; }; "showMenu": { "alias": "show-menu"; "required": false; }; }, { "onSearch": "onSearch"; }, never, never, true, never>;
}
export {};
