import { ElementRef, OnInit, Renderer2, EventEmitter } from '@angular/core'; import * as i0 from "@angular/core"; export declare class FilterComponent implements OnInit { private renderer; private hostElement; config: FilterConfig; set filterValues(value: FilterConfig); filterByContent: ElementRef; onClickEvent: EventEmitter; filterSelected: EventEmitter; filterRemoved: EventEmitter; dropdownToggled: EventEmitter; touchStartY: number; touchEndY: number; dropdownActive: boolean; selectedFilters: Record; submenuActive: Record; constructor(renderer: Renderer2, hostElement: ElementRef); ngOnInit(): void; toggleDropdown(event: Event): void; toggleSubmenu(element: any, event: Event): void; selectFilter(event: Event): void; removeFilter(type: string): void; isFilterOptionSelected(filterType: string, optionValue: string): boolean; getSelectedFilters(): Record; clearAllFilters(): void; setFilters(filters: Record): void; closeAll(): void; handleGlobalClick(e: Event): void; positionSubmenu(submenu: HTMLElement): void; handleResize(): void; onTouchStart(e: TouchEvent): void; onTouchEnd(): void; handleSwipeGesture(): void; smoothScrollToTop(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export interface FilterConfig { filterLabel: string; filterButtonStyle?: 'filled' | 'outlined'; filterItems: FilterCategory[]; } export interface FilterCategory { id: string; text: string; subMenu?: FilterOption[]; tooltip?: string; } export interface FilterOption { value: string; label: string; description?: string; tooltip?: string; icon?: { icon: string; size: string; iconPath?: string; iconUrl?: string; customClass?: string; tooltip?: string; }; } export interface FilterSelection { value: string; text: string; filterType: string; } export interface FilterClickEvent { event: string; type: 'Menu' | 'Sub Menu'; item: any; filterType?: string; selection?: FilterSelection; isActive?: boolean; } export interface FilterSelectionEvent { filterType: string; selection: FilterSelection; allSelections: Record; } export interface FilterRemovalEvent { filterType: string; removedSelection?: FilterSelection; remainingSelections: Record; }