import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { SearchField, SearchFieldValues } from '@valtimo/shared';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { SelectItem } from '../../models';
import { TranslateService } from '@ngx-translate/core';
import { DocumentService } from '@valtimo/document';
import { IconService } from 'carbon-components-angular';
import * as i0 from "@angular/core";
export declare class SearchFieldsComponent implements OnInit, OnDestroy {
    private readonly documentService;
    private readonly translateService;
    private readonly iconService;
    loading: boolean;
    set searchFields(fields: Array<SearchField>);
    private readonly _caseDefinitionKey$;
    set caseDefinitionKey(value: string);
    setValuesSubject$: Observable<SearchFieldValues>;
    clearValuesSubject$: Observable<null>;
    defaultValues: SearchFieldValues;
    inputDisabled: boolean;
    externalSearchField: boolean;
    doSearch: EventEmitter<SearchFieldValues>;
    readonly searchFields$: BehaviorSubject<SearchField[]>;
    readonly values$: BehaviorSubject<SearchFieldValues>;
    readonly hasValidValues$: Observable<boolean>;
    readonly expanded$: BehaviorSubject<boolean>;
    readonly clear$: Subject<null>;
    private readonly _subscriptions;
    private readonly BOOLEAN_POSITIVE;
    private readonly BOOLEAN_NEGATIVE;
    private readonly _BOOLEAN_TYPES;
    readonly booleanItems$: Observable<Array<SelectItem>>;
    readonly dropdownSelectItemsMap: Map<string, Array<SelectItem>>;
    constructor(documentService: DocumentService, translateService: TranslateService, iconService: IconService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    singleValueChange(searchFieldKey: string, value: any, isDateTime?: boolean): void;
    multipleValueChange(searchFieldKey: string, value: any, isDateTime?: boolean): void;
    toggleExpanded(): void;
    search(): void;
    clear(): void;
    getDefaultBooleanSelectionId(values: SearchFieldValues, searchFieldKey: string): string | null;
    private getSingleValue;
    private openCaseDefinitionKeySubscription;
    private openValuesSubjectSubscription;
    private openClearSubscription;
    private openDropdownSubscription;
    private collapse;
    private expand;
    private setDefaultValues;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchFieldsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchFieldsComponent, "valtimo-search-fields", never, { "loading": { "alias": "loading"; "required": false; }; "searchFields": { "alias": "searchFields"; "required": false; }; "caseDefinitionKey": { "alias": "caseDefinitionKey"; "required": false; }; "setValuesSubject$": { "alias": "setValuesSubject$"; "required": false; }; "clearValuesSubject$": { "alias": "clearValuesSubject$"; "required": false; }; "defaultValues": { "alias": "defaultValues"; "required": false; }; "inputDisabled": { "alias": "inputDisabled"; "required": false; }; "externalSearchField": { "alias": "externalSearchField"; "required": false; }; }, { "doSearch": "doSearch"; }, never, ["*"], false, never>;
}
//# sourceMappingURL=search-fields.component.d.ts.map