///
import { IInteractiveLegendData, ICategories, IIntLegendLayerData, ICategory } from '../../instant-apps-interactive-legend-classic/interfaces/customElement.js';
import { ElementInfo, FilterMode } from '../../../interfaces/interfaces';
export declare function createInteractiveLegendDataForLayer(legendViewModel: __esri.LegendViewModel, activeLayerInfo: __esri.ActiveLayerInfo, reactiveUtils: __esri.reactiveUtils): Promise;
export declare function generateData(legendViewModel: __esri.LegendViewModel, reactiveUtils: __esri.reactiveUtils): Promise;
export declare function getCategoriesArray(categories: ICategories): ICategory[];
export declare function getCategoryData(data: IIntLegendLayerData, layer: __esri.Layer, elementInfo: ElementInfo, parentLegendElementInfoData: ICategory | undefined, infoIndex: number): ICategory | undefined;
export declare function getIntLegendLayerData(fLayer: __esri.FeatureLayer): IIntLegendLayerData;
export declare function handleFilter(data: IIntLegendLayerData, info: any, infoIndex: number, filterMode: FilterMode, parentLegendElementInfo?: any): Promise;
export declare function handlePredominanceExpression(elementInfo: any, featureLayerView: __esri.FeatureLayerView): string;
export declare function checkAllSelected(data: IIntLegendLayerData): boolean;
export declare function checkNoneSelected(data: IIntLegendLayerData): boolean;
export declare function checkPredominance(fLayerView: __esri.FeatureLayerView): boolean;
export declare function checkRelationshipRamp(activeLayerInfo: __esri.ActiveLayerInfo): boolean;
export declare function validateInteractivity(activeLayerInfo: __esri.ActiveLayerInfo, legendElement?: __esri.LegendElement, legendElementIndex?: number): boolean;
export declare function showAll(data: IIntLegendLayerData): IIntLegendLayerData;
export declare function showAllNestedUniqueSymbol(data: IIntLegendLayerData, nestedUniqueSymbolCategoryId: string): IIntLegendLayerData;
export declare function zoomTo(data: IIntLegendLayerData, view: __esri.MapView, nestedCategory: any): Promise;
export declare function calculateTotalCount(categoriesArr: ICategory[]): number;
export declare function calculateTotalFeatureCountForNestedSymbols(categoriesArr: ICategory[]): any;
export declare function getInfoCount(extent: __esri.Extent | undefined, fLayerView: __esri.FeatureLayerView, field: string, info: any, infoIndex: number, legendElement: __esri.LegendElement, nestedUniqueSymbolInfo?: any, nestedUniqueSymbolInfoIndex?: number): Promise | null | undefined>;
export declare function handleFeatureCount(legendViewModel: __esri.LegendViewModel, data: IInteractiveLegendData): Promise;
export declare function getNestedInfoData(category: ICategory, infoIndex: number): ICategory;
export declare function checkNestedUniqueSymbol(categories: ICategories): boolean;
export declare function checkNestedUniqueSymbolLegendElement(activeLayerInfo: __esri.ActiveLayerInfo): boolean;
export declare function getParentLegendElementInfoData(data: IIntLegendLayerData, parentLegendElementInfo?: __esri.LegendElement): ICategory | undefined;
export declare function getTheme(el: HTMLElement): string;
export declare function updateStore(layerData: {
intLegendLayerData: IIntLegendLayerData;
layerId: string;
}): void;
export declare function handleFilterChange(filterMode: FilterMode, view: __esri.MapView | __esri.SceneView): void;
export declare function getAllActiveLayerInfos(activeLayerInfos: __esri.Collection<__esri.ActiveLayerInfo>): __esri.ActiveLayerInfo[];