import { OutputLevel } from '../core/types'; import { AnnotationElement } from './annotation-element'; export interface DevtoolsApi { /** Activate the annotation tool */ activate(): void; /** Deactivate the annotation tool */ deactivate(): void; /** Toggle activation */ toggle(): void; /** Set tool mode */ setMode(mode: 'select' | 'multi-select' | 'disabled'): void; /** Get current mode */ getMode(): string | undefined; /** Open annotation popup at a DOM element */ openPopupAtElement(element: Element, options?: { x?: number; y?: number; }): boolean; /** Open annotation popup at the first element matching a CSS selector */ openPopupAtSelector(selector: string): boolean; /** Open annotation popup at viewport coordinates */ openPopupAtPoint(x: number, y: number): boolean; /** Show popup for an existing annotation by ID */ showPopupForAnnotation(id: string): void; /** Close the currently open popup */ closePopup(): void; /** Copy output to clipboard */ copyOutput(level?: OutputLevel): Promise | undefined; /** Get output as string without copying */ getOutput(level?: OutputLevel): string | undefined; /** Get all annotations */ getAnnotations(): import('../core/types').Annotation[]; /** Get annotations visible on the current route */ getVisibleAnnotations(): import('../core/types').Annotation[]; /** Get the current route */ getCurrentRoute(): string; /** Get full app state */ getState(): import('../core/types').AppState | undefined; } /** * Open the annotation popup for a given element. * Computes center coordinates from the element rect and emits the * `element:click` event so the core controller handles the rest. */ export declare function openPopupAtElement(host: AnnotationElement, element: Element, options?: { x?: number; y?: number; }): boolean; /** * Create the devtools API object bound to a specific AnnotationElement. */ export declare function createDevtoolsApi(host: AnnotationElement): DevtoolsApi; /** * Attach the devtools API to window globals. */ export declare function attachDevtoolsApi(host: AnnotationElement, api: DevtoolsApi): void; /** * Detach the devtools API from window globals. */ export declare function detachDevtoolsApi(host: AnnotationElement, api: DevtoolsApi | null): void; //# sourceMappingURL=devtools-api.d.ts.map