import { Observable } from '@tanbo/stream'; import { Rect } from './_utils/uikit'; export interface CaretLimit { top: number; bottom: number; } export interface CaretPosition { left: number; top: number; height: number; } export declare function caretPositionEqual(a: CaretPosition | null, b: CaretPosition | null): boolean; export interface Caret { onPositionChange: Observable; readonly rect: Rect; refresh(): void; } export declare abstract class Input { /** * @experimental */ abstract composition: boolean; /** * @experimental */ abstract onReady: Promise; abstract caret: Caret; abstract disabled: boolean; abstract focus(nativeRange: Range, reFlash: boolean): void; abstract blur(): void; abstract destroy(): void; }