import { CxRenderingContext } from './rendering_context'; import { CxNodePayload } from './node_payload'; import { CxNodePayloadViewport } from './node_payload_viewport'; import { CxXYWH } from './basic_types'; import { CxNodePayloadOrtho } from './node_payload_ortho'; import { CxScene } from './scene'; import { CxUIElement } from './ui_element'; import { CxArrow } from './ui_arrow'; import { CxNodePayloadName } from './node_payload_name'; import { CxPointerEventsProcessor, CxNodePayloadInteractive } from './node_payload_interactive'; export declare enum CxSplitDirection { CxNoSplit = 1, CxVerticalSplit = 2, CxHorizontalSplit = 3, } export declare enum CxMarkerOrientation { CxLeft = 1, CxRight = 2, CxTop = 3, CxBottom = 4, } export declare class CxSplit implements CxPointerEventsProcessor { direction: CxSplitDirection; volume: number; margin: number; viewportA: CxNodePayloadViewport; viewportB: CxNodePayloadViewport; subsplitA: CxSplit; subsplitB: CxSplit; sceneA: CxNodePayload; sceneB: CxNodePayload; name: CxNodePayloadName; _drag: boolean; _drag_start_x: number; _drag_start_y: number; _drag_start_split: number; constructor(); 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; enter(grid: CxGrid, context: CxRenderingContext): void; exit(context: CxRenderingContext): void; } export declare class CxGrid extends CxUIElement { split: CxSplit; proj: CxNodePayloadOrtho; _stored_viewport: CxXYWH; _splits: Array; _arrow: CxArrow; constructor(scene: CxScene); draw_arrow(context: CxRenderingContext, x: number, y: number, angle: number, split: CxSplit): void; enter(context: CxRenderingContext): void; exit(context: CxRenderingContext): void; }