import { Observable } from 'rxjs';
import { Subject } from 'rxjs';
import { IEvents } from '@true-directive/base';
import { DataQuery } from '@true-directive/base';
import { Column } from '@true-directive/base';
import { CheckedChangedEvent, ValueChangedEvent, FilterShowEvent } from '@true-directive/base';
import { UIAction } from '@true-directive/base';
import { CellPosition } from '@true-directive/base';
export declare class GridEvents implements IEvents {
    readonly name = "events";
    protected _onDataQuery: Subject<DataQuery>;
    readonly onDataQuery: Observable<DataQuery>;
    protected _onDataFetch: Subject<DataQuery>;
    readonly onDataFetch: Observable<DataQuery>;
    protected _onColumnsChanged: Subject<void>;
    readonly onColumnsChanged: Observable<void>;
    protected _onQueryChanged: Subject<DataQuery>;
    readonly onQueryChanged: Observable<DataQuery>;
    protected _onSummariesChanged: Subject<Column>;
    readonly onSummariesChanged: Observable<Column>;
    protected _onValueChanged: Subject<ValueChangedEvent>;
    readonly onValueChanged: Observable<ValueChangedEvent>;
    protected _onCheckedChanged: Subject<CheckedChangedEvent>;
    readonly onCheckedChanged: Observable<CheckedChangedEvent>;
    protected _onDrag: Subject<UIAction>;
    readonly onDrag: Observable<UIAction>;
    protected _onDrop: Subject<UIAction>;
    readonly onDrop: Observable<UIAction>;
    protected _onColumnResizing: Subject<UIAction>;
    readonly onColumnResizing: Observable<UIAction>;
    protected _onColumnResize: Subject<UIAction>;
    readonly onColumnResize: Observable<UIAction>;
    protected _onFilterShow: Subject<FilterShowEvent>;
    readonly onFilterShow: Observable<FilterShowEvent>;
    protected _onSelect: Subject<CellPosition>;
    readonly onSelect: Observable<CellPosition>;
    protected _onStartEditing: Subject<CellPosition>;
    readonly onStartEditing: Observable<CellPosition>;
    protected _onStopEditing: Subject<boolean>;
    readonly onStopEditing: Observable<boolean>;
    protected _onRowUnfiltered: Subject<any>;
    readonly onRowUnfiltered: Observable<any>;
    protected _onHeaderContextMenu: Subject<any>;
    readonly onHeaderContextMenu: Observable<any>;
    protected _onCustomCellEvent: Subject<any>;
    readonly onCustomCellEvent: Observable<any>;
    dataQueryEvent(query: DataQuery): void;
    dataFetchEvent(query: DataQuery): void;
    columnsChangedEvent(): void;
    queryChangedEvent(query: DataQuery): void;
    summariesChangedEvent(c: Column): void;
    valueChangedEvent(e: ValueChangedEvent): void;
    checkedChangedEvent(e: CheckedChangedEvent): void;
    dragEvent(e: UIAction): void;
    dropEvent(e: UIAction): void;
    columnResizeEvent(e: UIAction): void;
    filterShowEvent(e: FilterShowEvent): void;
    selectEvent(cp: CellPosition): void;
    startEditingEvent(cp: CellPosition): void;
    stopEditingEvent(returnFocus: boolean): void;
    headerContextMenuEvent(e: {
        originalEvent: any;
        column: Column;
    }): void;
    customCellEvent(e: any): void;
}
