import { HttpErrorResponse } from "@angular/common/http";
import { BufferType, DwObject } from "./DataStoreOptions";
import { JsonRpcErrorResponse } from "../util/net/JsonRpc";
export declare class CuteEvent {
    /** Event identifier */
    readonly type?: string | undefined;
    /** Any useful data */
    tag?: any;
    private _defaultPrevented;
    protected _cancelable: boolean;
    readonly timeStamp: number;
    constructor(
    /** Event identifier */
    type?: string | undefined, 
    /** Any useful data */
    tag?: any);
    /** A boolean value indicating whether the event is cancelable. */
    get cancelable(): boolean;
    /** Indicates whether an event has already been canceled */
    get defaultPrevented(): boolean;
    /** Stops all related default actions that are usually performed after the event dispatch has been completed*/
    preventDefault(): void;
}
export declare class DwEvent extends CuteEvent {
    constructor();
}
export declare class DwButtonClickedEvent extends DwEvent {
    /** The number of the row the user clicked.  */
    readonly row: number;
    /** A reference to the control within the DataWindow under the pointer when the user clicked.  */
    readonly dwo: DwObject;
    /** Mutable. The value returned by the action performed by the button. Default is 0 (UserDefined). */
    actionCode: number;
    constructor(
    /** The number of the row the user clicked.  */
    row: number, 
    /** A reference to the control within the DataWindow under the pointer when the user clicked.  */
    dwo: DwObject, 
    /** Mutable. The value returned by the action performed by the button. Default is 0 (UserDefined). */
    actionCode?: number);
}
export declare class DwClickedEvent extends DwEvent {
    /** DataWindow clicked row number */
    readonly row: number;
    /** DataWindow current control */
    readonly dwo: DwObject;
    /** Source event object */
    readonly $event: MouseEvent;
    constructor(
    /** DataWindow clicked row number */
    row: number, 
    /** DataWindow current control */
    dwo: DwObject, 
    /** Source event object */
    $event: MouseEvent);
}
/**
 * Occurs when a database error occurs in the DataWindow or DataStore.
 */
export declare class DwDbmsErrorEvent extends DwEvent {
    /** A database-specific error code. */
    readonly errCode: number;
    /** A database-specific error message. */
    readonly errText: string;
    /** The buffer containing the row involved in the database activity that caused the error. */
    readonly dwBuffer?: BufferType | undefined;
    /** The number of the row involved in the database activity that caused the error */
    readonly row?: number | undefined;
    /** An error object returned on the Observable response stream */
    readonly reason?: HttpErrorResponse | JsonRpcErrorResponse | undefined;
    constructor(
    /** A database-specific error code. */
    errCode: number, 
    /** A database-specific error message. */
    errText: string, 
    /** The buffer containing the row involved in the database activity that caused the error. */
    dwBuffer?: BufferType | undefined, 
    /** The number of the row involved in the database activity that caused the error */
    row?: number | undefined, 
    /** An error object returned on the Observable response stream */
    reason?: HttpErrorResponse | JsonRpcErrorResponse | undefined);
}
export declare class DwDeleteRowEvent extends DwEvent {
    /** DataWindow row number to delete */
    readonly row: number;
    /** Drop only flag (mutable) */
    dropOnly: boolean;
    constructor(
    /** DataWindow row number to delete */
    row: number, 
    /** Drop only flag (mutable) */
    dropOnly?: boolean);
}
export declare class DwDoubleClickedEvent extends DwEvent {
    /** DataWindow clicked row number */
    readonly row: number;
    /** DataWindow current control */
    readonly dwo: DwObject | null;
    /** Source event object */
    readonly $event: MouseEvent;
    constructor(
    /** DataWindow clicked row number */
    row: number, 
    /** DataWindow current control */
    dwo: DwObject | null, 
    /** Source event object */
    $event: MouseEvent);
}
/**
 * Occurs for each keystroke the user types in an edit control in the DataWindow.
 */
export declare class DwEditChangedEvent extends DwEvent {
    /** The number of the row containing the item whose value is being changed. */
    readonly row: number;
    /** The name of the column containing the item.  */
    readonly name: string;
    /** The new data the user has specified for the item. */
    readonly data: any;
    constructor(
    /** The number of the row containing the item whose value is being changed. */
    row: number, 
    /** The name of the column containing the item.  */
    name: string, 
    /** The new data the user has specified for the item. */
    data: any);
}
export declare class DwInsertRowEvent extends DwEvent {
    /** Number of new row */
    readonly newRow: number;
    constructor(
    /** Number of new row */
    newRow: number);
}
/**
 * Occurs when a field in a DataWindow control has been modified and loses focus (for example, the user presses Enter, the Tab key, or
 * an arrow key or clicks the mouse on another field within the DataWindow).
 */
export declare class DwItemChangedEvent extends DwEvent {
    /** The number of the row containing the item whose value is being changed. */
    readonly row: number;
    /** The name of the column containing the item.  */
    readonly name: string;
    /** The new data the user has specified for the item. */
    readonly data: any;
    constructor(
    /** The number of the row containing the item whose value is being changed. */
    row: number, 
    /** The name of the column containing the item.  */
    name: string, 
    /** The new data the user has specified for the item. */
    data: any);
}
/**
 * Occurs when a field has been modified, the field loses focus (for example, the user presses Enter, Tab, or an arrow key or
 * clicks the mouse on another field in the DataWindow), and the data in the field does not pass the validation rules for its column.
 */
export declare class DwItemErrorEvent extends DwEvent {
    /** The number of the row containing the item whose new value has failed validation */
    readonly row: number;
    /** The name of the column containing the item.  */
    readonly name: string;
    /** The new data the user has specified for the item. */
    readonly data: any;
    /**
     * Mutable. The return code to affect the outcome of the event:
     ** 0 - (Default) Reject the data value and show an error message box
     ** 1 - Reject the data value with no message box
     ** 2 - Accept the data value
     ** 3 - Reject the data value but allow focus to change
     */
    actionCode: 0 | 1 | 2 | 3;
    constructor(
    /** The number of the row containing the item whose new value has failed validation */
    row: number, 
    /** The name of the column containing the item.  */
    name: string, 
    /** The new data the user has specified for the item. */
    data: any, 
    /**
     * Mutable. The return code to affect the outcome of the event:
     ** 0 - (Default) Reject the data value and show an error message box
     ** 1 - Reject the data value with no message box
     ** 2 - Accept the data value
     ** 3 - Reject the data value but allow focus to change
     */
    actionCode?: 0 | 1 | 2 | 3);
}
/**
 * Occurs when a field in a DataWindow control has been modified and loses focus (for example, the user presses Enter, the Tab key, or
 * an arrow key or clicks the mouse on another field within the DataWindow). It occurs before the change is applied to the item.
 * DwItemChangingEvent can also occur when the AcceptText or Update method is called for a DataWindow control or DataStore object.
 */
export declare class DwItemChangingEvent extends DwEvent {
    /** The number of the row containing the item whose value is being changed. */
    readonly row: number;
    /** The name of the column containing the item.  */
    readonly name: string;
    /** The new data the user has specified for the item. */
    readonly data: any;
    /** Allow focus to change when resultCode property has a prevented code (mutable) */
    changeFocusOnReject: boolean;
    constructor(
    /** The number of the row containing the item whose value is being changed. */
    row: number, 
    /** The name of the column containing the item.  */
    name: string, 
    /** The new data the user has specified for the item. */
    data: any, 
    /** Allow focus to change when resultCode property has a prevented code (mutable) */
    changeFocusOnReject?: boolean);
}
/**
 * Occurs when the current item in the control changes.
 */
export declare class DwItemFocusChangedEvent extends DwEvent {
    /** DataWindow current/active row number */
    readonly row: number;
    /** The name of the column containing the item.  */
    readonly name: string;
    constructor(
    /** DataWindow current/active row number */
    row: number, 
    /** The name of the column containing the item.  */
    name: string);
}
/**
 * Occurs when the user presses Enter or double-clicks the mouse within DataWindow
 */
export declare class DwProcessEnterEvent extends DwEvent {
    /** DataWindow current/active row number */
    readonly row: number;
    /** DataWindow current control */
    readonly dwo: DwObject | null;
    /** Source event object */
    readonly $event?: KeyboardEvent | undefined;
    constructor(
    /** DataWindow current/active row number */
    row: number, 
    /** DataWindow current control */
    dwo: DwObject | null, 
    /** Source event object */
    $event?: KeyboardEvent | undefined);
}
/**
 * Occurs when the retrieval for the DataWindow or DataStore is complete
 */
export declare class DwRetrieveEndEvent extends DwEvent {
    /** The number of rows that were retrieved. */
    readonly rowCount: number;
    constructor(
    /** The number of rows that were retrieved. */
    rowCount: number);
}
/**
 * Occurs when the retrieval for the DataWindow or DataStore is about to begin.
 */
export declare class DwRetrieveStartEvent extends DwEvent {
    /** Modified. Do not reset the rows and buffers before retrieving data */
    clearBuffers: boolean;
    constructor(
    /** Modified. Do not reset the rows and buffers before retrieving data */
    clearBuffers?: boolean);
}
/**
 * Occurs when something changed in the row object
 */
export declare class DwRowChangedEvent extends DwEvent {
    /** Changed row number */
    readonly row: number;
    constructor(
    /** Changed row number */
    row: number);
}
/**
 * Occurs when the current row changes in the DataWindow.
 * @see {@link DwRowFocusChangingEvent}
 */
export declare class DwRowFocusChangedEvent extends DwEvent {
    /** The number of the row that has just become current. */
    readonly newRow: number;
    constructor(
    /** The number of the row that has just become current. */
    newRow: number);
}
/**
 * Occurs when the current row is about to change in the DataWindow.
 * @see {@link DwRowFocusChangedEvent}
 */
export declare class DwRowFocusChangingEvent extends DwEvent {
    /** 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. */
    readonly currentRow: 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.  */
    readonly newRow: number;
    constructor(
    /** 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. */
    currentRow: 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.  */
    newRow: number);
}
/**
 * Occurs after a script calls the Update method and just before changes in the DataWindow or DataStore are sent to the database.
 */
export declare class DwUpdateStartEvent extends DwEvent {
    constructor();
}
/**
 * Occurs when all the updates to the database from the DataWindow (or DataStore) are complete.
 */
export declare class DwUpdateEndEvent extends DwEvent {
    /** The number of rows inserted. */
    readonly rowsInserted: number;
    /** The number of rows updated. */
    readonly rowsUpdated: number;
    /** The number of rows deleted. */
    readonly rowsDeleted: number;
    constructor(
    /** The number of rows inserted. */
    rowsInserted: number, 
    /** The number of rows updated. */
    rowsUpdated: number, 
    /** The number of rows deleted. */
    rowsDeleted: number);
}
/**
 * Occurs when visible columns list has been changed
 */
export declare class DwColumnsChangeEvent extends DwEvent {
    /** The array of new visible columns */
    readonly columnNames: string[];
    constructor(
    /** The array of new visible columns */
    columnNames: string[]);
}
