import { AbstractController } from "./AbstractController";
import { DataWindow } from "../datawindow/datawindow.component";
import { DwDeleteRowEvent, DwDoubleClickedEvent, DwEditChangedEvent, DwInsertRowEvent, DwItemChangedEvent, DwItemErrorEvent, DwItemFocusChangedEvent, DwProcessEnterEvent, DwRetrieveEndEvent, DwRetrieveStartEvent, DwRowChangedEvent, DwRowFocusChangedEvent, DwRowFocusChangingEvent, DwUpdateEndEvent, DwUpdateStartEvent } from "../datastore/events";
import * as i0 from "@angular/core";
export declare class DwController extends AbstractController {
    private _dw;
    setDataWindow(dw: DataWindow): void;
    get model(): DataWindow | undefined;
    /**
     * @abstract
     */
    onAfterViewInit(): void;
    onBeforeDeleteRow(event: DwDeleteRowEvent): void;
    onBeforeInsertRow(event: DwInsertRowEvent): void;
    onDoubleClicked(event: DwDoubleClickedEvent): void;
    onEditChanged(event: DwEditChangedEvent): void;
    onGetFocus(): void;
    onItemChanged(event: DwItemChangedEvent): void;
    onItemFocusChanged(event: DwItemFocusChangedEvent): void;
    onItemError(event: DwItemErrorEvent): void;
    onLoseFocus(): void;
    onRetrieveStart(event: DwRetrieveStartEvent): void;
    onRetrieveEnd(event: DwRetrieveEndEvent): void;
    onRowChanged(event: DwRowChangedEvent): void;
    onRowFocusChanged(event: DwRowFocusChangedEvent): void;
    /**
     * Occurs when the current row is about to change in the DataWindow.
     *
     * @param currentRow {number}  The number of the row that is current (before the row is deleted or its number changes).
     *                             If the DataWindow object is empty, currentrow is -1 to indicate there is no current row.
     * @param newRow {number} The number of the row that is about to become current. If the new row is going to be an inserted row, NewRow is -1 to indicate that it does not yet exist.
     * @returns Set the return code to affect the outcome of the event:
     *           0  Prevent the current row from changing
     *           1  Continue processing (setting the current row)
     */
    onRowFocusChanging(event: DwRowFocusChangingEvent): void;
    /**
     *
     * @param event
     *
     * @abstract
     */
    onShowProperties(event: DwProcessEnterEvent): void;
    onTimer(): void;
    onUpdateStart(event: DwUpdateStartEvent): void;
    onUpdateEnd(event: DwUpdateEndEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DwController, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DwController>;
}
