import { Client, WlDataDeviceResource, WlPointerRequests, WlPointerResource, WlSurfaceResource } from 'westfield-runtime-server'; import { AxisEvent } from './AxisEvent'; import { ButtonEvent } from './ButtonEvent'; import { DataSource } from './DataSource'; import { KeyboardGrab } from './Keyboard'; import { KeyEvent } from './KeyEvent'; import { Point } from './math/Point'; import { Seat } from './Seat'; import Surface from './Surface'; import SurfaceRole from './SurfaceRole'; import View from './View'; export declare class DefaultPointerGrab implements PointerGrab { readonly pointer: Pointer; private constructor(); static create(pointer: Pointer): PointerGrab; axis(event: AxisEvent): void; button(event: ButtonEvent): void; cancel(): void; focus(): void; frame(): void; motion(event: ButtonEvent): void; } export interface PointerGrab { focus(): void; motion(event: ButtonEvent): void; button(event: ButtonEvent): void; axis(event: AxisEvent): void; frame(): void; cancel(): void; } export declare class PointerDrag implements PointerGrab, KeyboardGrab { readonly pointer: Pointer; readonly client: Client; icon?: View | undefined; dataSource?: DataSource | undefined; dataSourceListener: () => void; focusView?: View; focusResource?: WlDataDeviceResource; deltaPoint?: Point; iconListener: () => void; private constructor(); static create(pointer: Pointer, client: Client, icon: View | undefined, source: DataSource | undefined): PointerDrag; end(): void; axis(event: AxisEvent): void; button(event: ButtonEvent): void; cancel(): void; focus(): void; frame(): void; key(event: KeyEvent): void; modifiers(serial: number, modsDepressed: number, modsLatched: number, modsLocked: number, group: number): void; motion(event: ButtonEvent): void; private setFocus; private readonly iconDestroyListener; private readonly focusListener; private destroyDragFocus; } export declare class DragIconRole implements SurfaceRole { readonly view: View; readonly pointer: Pointer; private constructor(); static create(icon: Surface, pointer: Pointer): DragIconRole; onCommit(surface: Surface): void; } export declare class CursorRole implements SurfaceRole { readonly pointer: Pointer; readonly view: View; hotspot: Point; private constructor(); static create(pointer: Pointer, cursor: Surface, hotspot: Point): CursorRole; onCommit(surface: Surface): void; renderPointerCursor(): void; } export declare class Pointer implements WlPointerRequests { readonly seat: Seat; sx: number; sy: number; readonly defaultGrab: PointerGrab; focusListeners: (() => void)[]; motionListeners: (() => void)[]; fousSerial: number; scrollFactor: number; resources: WlPointerResource[]; focus?: View; x: number; y: number; buttonCount: number; sprite?: View; grab: PointerGrab; grabButton?: 0 | 1 | 2 | 3 | 4; grabTime?: number; grabPoint?: Point; grabSerial?: number; private readonly spriteDestroyListener; private constructor(); static create(seat: Seat): Pointer; setCursor(resource: WlPointerResource, serial: number, surfaceResource: WlSurfaceResource | undefined, hotspotX: number, hotspotY: number): void; release(resource: WlPointerResource): void; clearFocus(): void; setFocus(view: View | undefined, sx: number, sy: number): void; setDefaultCursor(): void; startDrag(source: DataSource | undefined, icon: Surface | undefined, client: Client): void; startGrab(grab: PointerGrab): void; endGrab(): void; moveTo({ x, y }: Point): void; sendFrame(): void; sendMotion(event: ButtonEvent): void; sendAxis(event: AxisEvent): void; sendButton(event: ButtonEvent): void; private readonly focusViewListener; private unmapSprite; private frame; private motion; }