/// <reference types="jquery" />
import { Event, Menu, PropertyChangeEvent, Tile, TileAccordion, TileGrid, TileGridLayoutConfig, WidgetEventMap } from '../index';
export interface TileActionEvent<T = TileGrid> extends Event<T> {
    tile: TileOf<T>;
}
export interface TileClickEvent<T = TileGrid> extends Event<T> {
    tile: TileOf<T>;
    mouseButton: number;
    originalEvent: JQuery.ClickEvent;
}
export type TileOf<T> = T extends TileGrid<infer TTile> | TileAccordion<infer TTile> ? TTile : Tile;
export interface TileGridEventMap extends WidgetEventMap {
    'tileAction': TileActionEvent;
    'tileClick': TileClickEvent;
    'layoutDone': Event;
    'layoutAnimationDone': Event;
    'propertyChange:empty': PropertyChangeEvent<boolean>;
    'propertyChange:filteredTiles': PropertyChangeEvent<Tile[]>;
    'propertyChange:gridColumnCount': PropertyChangeEvent<number>;
    'propertyChange:layoutConfig': PropertyChangeEvent<TileGridLayoutConfig>;
    'propertyChange:menus': PropertyChangeEvent<Menu[]>;
    'propertyChange:multiSelect': PropertyChangeEvent<boolean>;
    'propertyChange:scrollable': PropertyChangeEvent<boolean>;
    'propertyChange:selectable': PropertyChangeEvent<boolean>;
    'propertyChange:selectedTiles': PropertyChangeEvent<Tile[]>;
    'propertyChange:textFilterEnabled': PropertyChangeEvent<boolean>;
    'propertyChange:tiles': PropertyChangeEvent<Tile[]>;
    'propertyChange:viewRangeSize': PropertyChangeEvent<number>;
    'propertyChange:virtual': PropertyChangeEvent<boolean>;
    'propertyChange:withPlaceholders': PropertyChangeEvent<boolean>;
}
//# sourceMappingURL=TileGridEventMap.d.ts.map