import { Observable } from 'rxjs';
export declare type IWindowResizeEvent = Record<string, unknown>;
export declare type IMouseEvent = {
    altKey: boolean;
    button: number;
    buttons: number;
    clientX: number;
    clientY: number;
    ctrlKey: boolean;
    metaKey: boolean;
    movementX: number;
    movementY: number;
    pageX: number;
    pageY: number;
    relatedTarget: EventTarget;
    screenX: number;
    screenY: number;
    shiftKey: boolean;
};
export declare type IKeypressEvent = {
    event: KeyboardEvent;
    isPressed: boolean;
    code: string;
    key: string;
    altKey: boolean;
    ctrlKey: boolean;
    shiftKey: boolean;
    metaKey: boolean;
    isModifier: boolean;
    preventDefault(): void;
    stopPropagation(): void;
    stopImmediatePropagation(): void;
};
export declare type KeypressObservable = Observable<IKeypressEvent>;
export declare type IFocusEvent = {
    type: 'FOCUS' | 'BLUR';
    from?: Element;
    to?: Element;
};
export declare type FocusObservable = Observable<IFocusEvent>;
