import { EncryptedReferenceCodec } from '../encrypted-reference.js'; import type { ArkmeSessionCredentials } from '../keychain-store.js'; import type { MessageActionCapabilityCodec, MessageActionSource, MessageActionGateway, MessageActionTarget } from '../message-action-contract.js'; import type { ArkmeMessageCopyLinkResult, ArkmeSourceSendResult } from '../types.js'; import { type ServiceRuntime } from './service.js'; import type { ArkmeSourceRefPayload, SourceService } from './source-service.js'; export declare class LocalMessageActionCapabilityCodec extends EncryptedReferenceCodec implements MessageActionCapabilityCodec { fingerprint(payload: unknown): string; constructor(uniqueCode: () => Promise); } export declare class ArkmeMessageActionGateway implements MessageActionGateway { private readonly runtime; private readonly source; private readonly onForwarded?; private readonly currentSenderSnapshot?; constructor(runtime: ServiceRuntime, source: SourceService, onForwarded?: ((target: ArkmeSourceRefPayload, sequence?: number) => void | Promise) | undefined, currentSenderSnapshot?: ((session: ArkmeSessionCredentials) => Promise<{ avatar?: string; nickname?: string; } | undefined>) | undefined); requireSession(): Promise; maxTextLength(): number; openTarget(targetSourceRef: string, userId: number): Promise; createCopyLink(references: readonly MessageActionSource[], session: ArkmeSessionCredentials, signal?: AbortSignal): Promise; forwardToChat(input: Parameters[0]): Promise; forwardToRecord(input: Parameters[0]): Promise; createRecordTargetComment(input: Parameters[0]): Promise; private confirmRecordReceipt; private copyLinkSource; private chatForwardSourceItem; private nativeIdentity; private recordForwardPayload; } //# sourceMappingURL=message-action-infrastructure.d.ts.map