import { default as React, FC } from 'react'; import { Annotation, AnnotationId, OutputLevel, ThemeMode, BeforeAnnotationCreateHook, BeforeAnnotationCreateData, BeforeAnnotationCreateResult } from '../../core/types'; import { AnnotationElement } from '../../element/annotation-element'; declare global { namespace JSX { interface IntrinsicElements { 'agent-ui-annotation': React.DetailedHTMLProps & { theme?: string; 'output-level'?: string; 'annotation-color'?: string; disabled?: string; ref?: React.Ref; }, HTMLElement>; } } } export interface AgentUIAnnotationProps { /** Theme mode */ theme?: ThemeMode; /** Output detail level */ outputLevel?: OutputLevel; /** Annotation marker color */ annotationColor?: string; /** Whether the tool is disabled */ disabled?: boolean; /** Hook called before creating an annotation - can add context, modify comment, or cancel */ onBeforeAnnotationCreate?: BeforeAnnotationCreateHook; /** Callback when an annotation is created */ onAnnotationCreate?: (annotation: Annotation) => void; /** Callback when an annotation is updated */ onAnnotationUpdate?: (annotation: Annotation) => void; /** Callback when an annotation is deleted */ onAnnotationDelete?: (id: AnnotationId) => void; /** Callback when all annotations are cleared */ onAnnotationsClear?: (annotations: Annotation[]) => void; /** Callback when output is copied */ onCopy?: (content: string, level: OutputLevel) => void; /** Additional class name */ className?: string; } export interface AgentUIAnnotationRef { activate: () => void; deactivate: () => void; toggle: () => void; copyOutput: (level?: OutputLevel) => Promise; getOutput: (level?: OutputLevel) => string; clearAll: () => void; } /** * React component wrapper for agent-ui-annotation */ export declare const AgentUIAnnotation: FC; /** * Hook for using agent-ui-annotation imperatively */ export declare function useAgentUIAnnotation(): { ref: React.RefObject; activate: () => void; deactivate: () => void; toggle: () => void; copyOutput: (level?: OutputLevel) => Promise; getOutput: (level?: OutputLevel) => string; clearAll: () => void; }; export default AgentUIAnnotation; export type { BeforeAnnotationCreateHook, BeforeAnnotationCreateData, BeforeAnnotationCreateResult }; //# sourceMappingURL=AgentUIAnnotation.d.ts.map