import { Action, Event, EventHandler, FocusFilterFieldKeyStroke, InitModelOf, InputFieldKeyStrokeContext, ObjectType, PropertyChangeEvent, SomeRequired, Table, TableControl, TableFilterAddedEvent, TableFilterRemovedEvent, TableFooterModel, TableRowsInsertedEvent, TableRowsSelectedEvent, Tooltip, Widget } from '../index';
export declare class TableFooter extends Widget implements TableFooterModel {
    model: TableFooterModel;
    initModel: SomeRequired<this['model'], 'parent' | 'table'>;
    table: Table;
    filterText: string;
    animating: boolean;
    open: boolean;
    resizing: boolean;
    selectedControl: TableControl;
    searchFieldKeyStrokeContext: InputFieldKeyStrokeContext;
    $controlContent: JQuery;
    $controlContainer: JQuery;
    $resizer: JQuery;
    $clearIcon: JQuery<HTMLSpanElement>;
    /** @internal */
    _$controls: JQuery;
    /** @internal */
    _$info: JQuery;
    /** @internal */
    _compactStyle: boolean;
    /** @internal */
    _tableInfoTooltip: Tooltip;
    /** @internal */
    _tableStatusTooltip: Tooltip;
    /** @internal */
    _infoLoadAction: Action;
    /** @internal */
    _infoSelectionAction: Action;
    protected _tableRowsChangedHandler: EventHandler<TableRowsInsertedEvent>;
    protected _tableFilterHandler: EventHandler<Event<Table>>;
    protected _tableFilterAddedHandler: EventHandler<TableFilterAddedEvent>;
    protected _tableFilterRemovedHandler: EventHandler<TableFilterRemovedEvent>;
    protected _tableRowsSelectedHandler: EventHandler<TableRowsSelectedEvent>;
    protected _tableStatusChangedHandler: EventHandler<Event<Table>>;
    protected _tablePropertyChangeHandler: EventHandler<PropertyChangeEvent<any, Table>>;
    protected _focusFilterFieldKeyStroke: FocusFilterFieldKeyStroke;
    protected _autoHideTableStatusTooltipTimeoutId: number;
    protected _infoFilterAction: Action;
    protected _$window: JQuery<Window>;
    protected _$body: JQuery<Body>;
    protected _infoTableStatusMenu: Action;
    protected _$textFilter: JQuery<HTMLInputElement>;
    constructor();
    protected _init(options: InitModelOf<this>): void;
    protected _initKeyStrokeContext(): void;
    protected _render(): void;
    protected _createAndRenderInfoItemAction(cssClass: string): Action;
    get$Focusable(): JQuery;
    protected _renderProperties(): void;
    protected _remove(): void;
    protected _renderResizerVisible(): void;
    protected _renderResizer(): void;
    /** @internal */
    _renderControls(): void;
    /** @internal */
    _renderInfo(): void;
    protected _renderInfoLoad(): void;
    protected _renderInfoFilter(): void;
    protected _renderInfoSelection(): void;
    protected _renderInfoTableStatus(): void;
    protected _updateInfoVisibility(): void;
    protected _updateInfoFilterVisibility(): void;
    protected _updateInfoSelectionVisibility(): void;
    protected _updateInfoTableStatusVisibility(): void;
    protected _setInfoVisible($info: JQuery, visible: boolean, complete?: () => void): void;
    protected _toggleTableInfoTooltip($info: JQuery, tooltipType: ObjectType<Tooltip>): void;
    /**
     * Meaning is '3 of 10 rows'
     * @param n row count
     * @param m total count, optional.
     */
    computeCountInfo(n: number, m?: number): string;
    protected _revalidateTableLayout(): void;
    openControlContainer(control: TableControl): void;
    closeControlContainer(control: TableControl, options?: {
        animate?: boolean;
    }): void;
    computeControlContainerHeight(table: Table, control: TableControl, growControl?: boolean): number;
    protected _hideTableStatusTooltip(): void;
    protected _showTableStatusTooltip(): void;
    protected _updateHasFilterText(): void;
    onControlSelected(control: TableControl): void;
    protected _onStatusMouseDown(): void;
    protected _createOnFilterFieldInputFunction(): (event: JQuery.TriggeredEvent) => void;
    protected _onDeleteFilterMouseDown(event: JQuery.MouseDownEvent): void;
    protected _applyFilter(): void;
    protected _onInfoLoadAction(): void;
    protected _onInfoFilterAction(): void;
    protected _onInfoSelectionAction(): void;
    protected _onTableRowsChanged(event: TableRowsInsertedEvent): void;
    protected _onTableFilter(event: Event<Table>): void;
    protected _onTableFilterAdded(event: TableFilterAddedEvent): void;
    protected _onTableFilterRemoved(event: TableFilterRemovedEvent): void;
    protected _onTableRowsSelected(event: TableRowsSelectedEvent): void;
    protected _onTableStatusChanged(event: Event<Table>): void;
    protected _onTablePropertyChange(event: PropertyChangeEvent<any, Table>): void;
}
//# sourceMappingURL=TableFooter.d.ts.map