import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
import { FormArray, FormBuilder, FormControl, FormGroup } from "@angular/forms";
import { EventBus, IEvent } from "@nova-ui/bits";
import { IHasChangeDetector, IHasForm } from "../../../../../types";
import * as i0 from "@angular/core";
export declare class GroupingConfigurationComponent implements OnInit, OnChanges, IHasChangeDetector, IHasForm, OnDestroy {
    changeDetector: ChangeDetectorRef;
    private formBuilder;
    private eventBus;
    static lateLoadKey: string;
    groups: string[];
    groupBy: string[];
    formReady: EventEmitter<FormGroup<any>>;
    form: FormGroup;
    selectData: Array<Array<string>>;
    private readonly destroy$;
    constructor(changeDetector: ChangeDetectorRef, formBuilder: FormBuilder, eventBus: EventBus<IEvent>);
    get getGroupByControl(): FormArray;
    get getDrillStateControl(): FormArray;
    get getGroupsControl(): FormControl;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    createControl(value?: string): FormControl;
    addGrouping(): void;
    removeRule(index: number): void;
    isAddRestricted(): boolean;
    getSubtitle(): string;
    ngOnDestroy(): void;
    private onDataSourceCreated;
    private fillGroupsOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<GroupingConfigurationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GroupingConfigurationComponent, "nui-grouping-configuration", never, { "groups": { "alias": "groups"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; }, { "formReady": "formReady"; }, never, never, false, never>;
}
