import type { NativeChatSelectionSnapshot } from '../native-chat-selection-contract.js'; import type { ArkmeMessageCopyLinkResult } from '../types.js'; export interface NativeCopyLinkAttempt { snapshot: NativeChatSelectionSnapshot; userId: number; } export interface NativeCopyLinkEntry { copy(attempt: NativeCopyLinkAttempt, signal: AbortSignal, caller: Window): Promise; } export declare const NATIVE_COPY_LINK_ENTRY = "__arkmeNativeCopyLinkEntry"; export type NativeCopyLinkWindow = Window & { [NATIVE_COPY_LINK_ENTRY]?: NativeCopyLinkEntry; }; /** Arkme owns generation and clipboard access; the native frame supplies only selection content. */ export declare function createNativeCopyLinkEntry(host: NativeCopyLinkWindow, dependencies: { isCurrentAccount(userId: number): boolean; generate(attempt: NativeCopyLinkAttempt, signal: AbortSignal): Promise; copyText(text: string, signal: AbortSignal): Promise; }): NativeCopyLinkEntry; export declare function copyNativeLink(doc: Document, attempt: NativeCopyLinkAttempt, signal: AbortSignal): Promise; //# sourceMappingURL=native-copy-link-entry.d.ts.map