import { EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
export interface QueryRule {
    field: string;
    operator: string;
    value: any;
}
export interface QueryGroup {
    condition: 'AND' | 'OR';
    rules: (QueryRule | QueryGroup)[];
    isOpen?: boolean;
}
export declare class SdQueryBuilder {
    group: QueryGroup;
    groupChange: EventEmitter<QueryGroup>;
    isGroup(item: any): item is QueryGroup;
    toggleCondition(group: QueryGroup, condition: 'AND' | 'OR'): void;
    toggleDropdown(group: QueryGroup, event: Event): void;
    closeAll(): void;
    closeAllDropdowns(group: QueryGroup): void;
    addRule(group: QueryGroup): void;
    addGroup(group: QueryGroup): void;
    removeItem(parentGroup: QueryGroup, index: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdQueryBuilder, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SdQueryBuilder, "sd-query-builder", never, { "group": { "alias": "group"; "required": false; }; }, { "groupChange": "groupChange"; }, never, never, true, never>;
}
