// Type definitions for ag-grid v18.1.2 // Project: http://www.ag-grid.com/ // Definitions by: Niall Crosby import { SerializedTextFilter } from "./textFilter"; import { SerializedDateFilter } from "./dateFilter"; import { SerializedNumberFilter } from "./numberFilter"; import { IComponent } from "../interfaces/iComponent"; import { Component } from "../widgets/component"; import { Column } from "../entities/column"; import { GridApi } from "../gridApi"; import { SerializedSetFilter } from "../interfaces/iSerializedSetFilter"; import { CombinedFilter } from "./baseFilter"; export interface FloatingFilterChange { } export interface IFloatingFilterParams { column: Column; onFloatingFilterChanged: (change: F | M) => boolean; currentParentModel: () => M; suppressFilterButton: boolean; debounceMs?: number; api: GridApi; } export interface IFloatingFilter> { onParentModelChanged(parentModel: M, combinedModel?: CombinedFilter): void; } export interface IFloatingFilterComp> extends IFloatingFilter, IComponent

{ } export interface BaseFloatingFilterChange extends FloatingFilterChange { model: M; apply: boolean; } export declare abstract class InputTextFloatingFilterComp>> extends Component implements IFloatingFilter, P> { eColumnFloatingFilter: HTMLInputElement; onFloatingFilterChanged: (change: BaseFloatingFilterChange) => boolean; currentParentModel: () => M; lastKnownModel: M; constructor(); init(params: P): void; abstract asParentModel(): M; abstract asFloatingFilterText(parentModel: M): string; abstract parseAsText(model: M): string; onParentModelChanged(parentModel: M, combinedFilter?: CombinedFilter): void; syncUpWithParentFilter(e: KeyboardEvent): void; equalModels(left: any, right: any): boolean; } export declare class TextFloatingFilterComp extends InputTextFloatingFilterComp>> { asFloatingFilterText(parentModel: SerializedTextFilter): string; asParentModel(): SerializedTextFilter; parseAsText(model: SerializedTextFilter): string; } export declare class DateFloatingFilterComp extends Component implements IFloatingFilter, IFloatingFilterParams>> { private componentRecipes; private dateComponentPromise; onFloatingFilterChanged: (change: BaseFloatingFilterChange) => void; currentParentModel: () => SerializedDateFilter; lastKnownModel: SerializedDateFilter; init(params: IFloatingFilterParams>): void; private onDateChanged(); equalModels(left: SerializedDateFilter, right: SerializedDateFilter): boolean; asParentModel(): SerializedDateFilter; onParentModelChanged(parentModel: SerializedDateFilter): void; private enrichDateInput(type, dateFrom, dateTo, dateComponent); } export declare class NumberFloatingFilterComp extends InputTextFloatingFilterComp>> { asFloatingFilterText(toParse: SerializedNumberFilter): string; parseAsText(model: SerializedNumberFilter): string; asParentModel(): SerializedNumberFilter; private asNumber(value); } export declare class SetFloatingFilterComp extends InputTextFloatingFilterComp>> { init(params: IFloatingFilterParams>): void; asFloatingFilterText(parentModel: string[] | SerializedSetFilter): string; parseAsText(model: SerializedSetFilter): string; asParentModel(): SerializedSetFilter; equalModels(left: SerializedSetFilter, right: SerializedSetFilter): boolean; } export declare class ReadModelAsStringFloatingFilterComp extends InputTextFloatingFilterComp>> { init(params: IFloatingFilterParams>): void; onParentModelChanged(parentModel: any): void; asFloatingFilterText(parentModel: string): string; parseAsText(model: string): string; asParentModel(): string; }