import { EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { SearchBuilderGroupQuery } from '../interfaces/group-query.interface';
import { SearchBuilderGroupService } from './search-builder-group.service';
import * as i0 from "@angular/core";
export declare class SearchBuilderGroupComponent implements OnInit, OnDestroy {
    readonly searchBuilderGroupService: SearchBuilderGroupService;
    private readonly _searchBuilderFocusService;
    id: string;
    header: string;
    operator: SearchBuilderGroupOperator;
    addText: string;
    placeholder: TemplateRef<void>;
    showPlaceholder: boolean;
    removeFieldButtonAriaLabel: string;
    add: EventEmitter<MouseEvent>;
    remove: EventEmitter<SearchBuilderGroupQuery>;
    focusIndex: number;
    private readonly _onDestroy;
    ngOnInit(): void;
    ngOnDestroy(): void;
    addField(event: MouseEvent): void;
    removeFieldAtIndex(index: number, field: SearchBuilderGroupQuery): void;
    setFocus(index: number): void;
    clearFocus(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchBuilderGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchBuilderGroupComponent, "ux-search-builder-group", never, { "id": { "alias": "id"; "required": false; }; "header": { "alias": "header"; "required": false; }; "operator": { "alias": "operator"; "required": false; }; "addText": { "alias": "addText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "showPlaceholder": { "alias": "showPlaceholder"; "required": false; }; "removeFieldButtonAriaLabel": { "alias": "removeFieldButtonAriaLabel"; "required": false; }; }, { "add": "add"; "remove": "remove"; }, never, never, false, never>;
}
export type SearchBuilderGroupOperator = 'and' | 'or' | 'not';
