import { A as Annotation, P as PopmeltSubjectAdapter } from './subjects-BM3Smdow.mjs'; import { a as ImageRecognitionProvider, b as VideoTrackingProvider, c as VideoSegmentationProvider, I as ImageSubjectAdapterOptions, V as VideoSubjectAdapterOptions } from './video-adapter-Gm5gmoiz.mjs'; type CommentMetaValue = null | boolean | number | string | CommentMetaValue[] | { [key: string]: CommentMetaValue; }; /** User-owned, JSON-serializable context captured with a human comment turn. */ type CommentMeta = Record; type CommentMetaContext = { kind: 'annotation'; /** Read-only inspection uses the same collector without submitting a comment. */ purpose?: 'inspection'; timestamp: number; url: string; pathname: string; annotations: readonly Readonly[]; } | { kind: 'reply'; timestamp: number; url: string; pathname: string; threadId: string; reply: string; annotations: readonly Readonly[]; }; type GetCommentMeta = (context: CommentMetaContext) => CommentMeta | undefined | Promise; type PopmeltExtensionRuntime = { /** Optional perception contribution for Core's built-in image adapter. */ imageRecognition?: ImageRecognitionProvider; /** Optional perception contribution for Core's built-in video adapter. */ videoTracking?: VideoTrackingProvider; /** Optional point-prompted perception for Core's built-in video adapter. */ videoSegmentation?: VideoSegmentationProvider; /** Optional non-DOM subject adapters contributed by the extension. */ subjectAdapters?: readonly PopmeltSubjectAdapter[]; /** Release extension-owned resources. */ dispose?(): void | Promise; }; type PopmeltExtension = { /** Stable package-level identity used to reconcile extension configuration. */ id: string; /** Stable signature for configuration changes that require reactivation. */ configurationKey: string; /** Activate lazily after the Core provider mounts in the browser. */ activate(): PopmeltExtensionRuntime; }; /** Host integration options, independent of the UI renderer. */ type PopmeltOptions = { enabled?: boolean; /** Experimental peer canvases, invitations and multiplayer UI. Default: false. */ multiplayer?: boolean; bridgeUrl?: string; /** Stable project id generated by the framework plugin/bridge startup. */ projectId?: string | null; /** Host router navigation, used for multi-page screenshot capture. */ navigate?: (url: string) => void | Promise; subjectAdapters?: readonly PopmeltSubjectAdapter[]; extensions?: readonly PopmeltExtension[]; /** Manual media annotation is enabled by default. */ imageAnnotation?: boolean | Omit; videoAnnotation?: boolean | Omit; /** Capture application-owned JSON context with each submitted human turn. */ getCommentMeta?: GetCommentMeta; }; /** Public, credential-free description stamped by the application's dev server. * The revision is context metadata (or `unversioned`), never sync/Send authority. */ type ParticipantBootstrapConfig = { version?: 1; url: string; projectId: string; revision: string; }; declare global { interface Window { __POPMELT_PARTICIPANTS__?: ParticipantBootstrapConfig; } } /** Available before mounting Popmelt so trusted apps can suppress startup effects. * This is a rendering hint, never a credential or an authorization decision. */ declare function isPopmeltPreview(url?: string): boolean; export { type CommentMeta as C, type GetCommentMeta as G, type PopmeltOptions as P, type CommentMetaContext as a, type CommentMetaValue as b, type PopmeltExtension as c, type PopmeltExtensionRuntime as d, isPopmeltPreview as i };