import { CxRenderingContext, CxRenderingMode } from './rendering_context'; import { CxNodePayload } from './node_payload'; import { CxRenderingProgramSelection } from './rendering_program_selection'; import { CxScene } from './scene'; import { CxRGBA } from './basic_types'; export interface CxPointerEventsProcessor { pressed(source: CxNodePayloadInteractive, object: number, screen_x: number, screen_y: number): void; moved(source: CxNodePayloadInteractive, object: number, screen_x: number, screen_y: number): void; released(source: CxNodePayloadInteractive, object: number, screen_x: number, screen_y: number): void; } export declare class CxNodePayloadInteractive implements CxNodePayload { _stored_mode: CxRenderingMode; selection_rendering_program: CxRenderingProgramSelection; _pixels: any; _pixels_w: number; _pixels_h: number; pointer_processors: Set; _canvas: HTMLCanvasElement; _scene: CxScene; constructor(canvas: HTMLCanvasElement, scene: CxScene); addPointerEventsProcessor(processor: CxPointerEventsProcessor): void; removePointerEventsProcessor(processor: CxPointerEventsProcessor): void; enter(context: CxRenderingContext): void; exit(context: CxRenderingContext): void; name_color_at(x: number, y: number): CxRGBA; relative_xy(e: MouseEvent): [number, number, number, number]; process_onmousemove: (e: MouseEvent) => void; process_onmousedown: (e: MouseEvent) => void; process_onmouseup: (e: MouseEvent) => void; }