import * as i0 from '@angular/core'; import { OnInit, EventEmitter, AfterViewInit, ElementRef, OnDestroy, QueryList, ChangeDetectorRef } from '@angular/core'; import { MatDialogRef, MatDialog } from '@angular/material/dialog'; import { MatExpansionPanel } from '@angular/material/expansion'; import { Subscription } from 'rxjs'; import { FormControl, ValidatorFn } from '@angular/forms'; interface FilterGroupDialogData { existingNames: string[]; } declare class FilterGroupDialogComponent implements OnInit { dialogRef: MatDialogRef; data: FilterGroupDialogData; filterName: FormControl; constructor(dialogRef: MatDialogRef, data: FilterGroupDialogData); onNoClick(): void; save(): void; ngOnInit(): void; nameExistsValidator(): ValidatorFn; getErrorMessage(): "" | "Name is required" | "Name already exists"; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface UXGFilterChanges { instance: string; added: T[]; removed: T[]; } interface UXGFilter { title: string; data: T[]; changes: EventEmitter>; clearSelection: Function; getState: Function; setState: Function; } declare class UxgFilter implements AfterViewInit { private ref; instance: string; component: UXGFilter; constructor(ref: ElementRef); ngAfterViewInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface FilterGroupComponentData { title: string; selectedData: any[]; } interface SavedFilter { filterName: string; isSelected: boolean; filterState: FilterGroupComponentData[]; } declare class FilterGroupComponent implements AfterViewInit, OnDestroy { dialog: MatDialog; private cd; changes: EventEmitter>; filterInstances: QueryList; expansionPanel: MatExpansionPanel; expanded: boolean; divideAtIndex: number[]; showActions: boolean; autoApply: boolean; subscriptions: Subscription[]; dialogRef: MatDialogRef | undefined; selectedData: FilterGroupComponentData[]; savedFilters: SavedFilter[]; existingFilterNames: string[]; initialState: FilterGroupComponentData[]; activeFilter: FilterGroupComponentData[]; isActive: boolean; headerHeight: string; constructor(dialog: MatDialog, cd: ChangeDetectorRef); ngAfterViewInit(): void; ngOnDestroy(): void; openDialog(): void; selectFilter(filter: SavedFilter): void; applyFilters(): void; updateFilter(): void; removeFilter(filter: any): void; clearSelection(): void; resetSelection(): void; getFilterStates(): any; getState(): FilterGroupComponentData[]; setState(data: FilterGroupComponentData[]): void; open(): void; close(): void; getSelectedFilterState(): FilterGroupComponentData[]; checkIsActive(): boolean; checkListEquality(listA: FilterGroupComponentData[], listB: FilterGroupComponentData[]): boolean; checkDivider(index: number): boolean; handleOutsideClick(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { FilterGroupComponent, FilterGroupDialogComponent, UxgFilter }; export type { FilterGroupComponentData, FilterGroupDialogData, SavedFilter, UXGFilter, UXGFilterChanges };