import { FoundationElement } from '@microsoft/fast-foundation'; import { TextField } from '../text-field'; export declare enum FilterEvents { change = "filter-changed", clear = "filter-cleared" } /** * @tagname %%prefix%%-filter * * @fires filter-changed - Fired when filter criteria change * @fires filter-cleared - Fired when the filter is cleared */ export declare class Filter extends FoundationElement { textFilterField: TextField; numFilterFieldMin: TextField; numFilterFieldMax: TextField; dateFilterFieldMin: TextField; dateFilterFieldMax: TextField; fieldName: string; type: 'text' | 'number' | 'date' | 'boolean' | 'enum'; label: string; /** * Will be included in event emmissions. * Usually set to the id of the target datasource. * Usefull when we have multiple grids in the same page. */ target: string; textFilter: string; numFilterMin: number; numFilterMax: number; dateFilterMin: string; dateFilterMax: string; dateMinMS: number; dateMaxMS: number; enumOptions: string; enumFilterOptions: any[]; textFilterChanged(oldCriteria: string, newCriteria: string): void; numFilterMinChanged(oldMin: string, newMin: string): void; numFilterMaxChanged(oldMax: string, newMax: string): void; private handleNumericFilter; /** * Example: 1634083200000 -> '20211013-00:00:00' * @param epoch ms since unix epoch * @returns date string compatible with genesis Expr filters */ private formatDate; dateFilterMinChanged(oldMin: string, newMin: string): void; dateFilterMaxChanged(oldMax: string, newMax: string): void; private handleDateFilter; connectedCallback(): void; clear(): void; onBooleanFilterSelection(selection: 'all' | 'true' | 'false' | 'null'): void; onEnumFilterSelection(selection: string): void; } export declare const foundationFilter: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ baseName: string; template: import("@microsoft/fast-element").ViewTemplate; styles: import("@microsoft/fast-element").ElementStyles; }>) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ baseName: string; template: import("@microsoft/fast-element").ViewTemplate; styles: import("@microsoft/fast-element").ElementStyles; }, typeof Filter>; //# sourceMappingURL=filter.d.ts.map