import type { ArkmeSessionCredentials } from '../keychain-store.js'; import { type ArkmeDirectMessageAdmission, type ArkmeDirectMessageAdmissionPort } from '../direct-message-admission.js'; import type { SourceService } from './source-service.js'; import { ArkmePluginError, type ServiceRuntime, type ArkmeRemoteRequestOptions } from './service.js'; export declare function projectDirectMessageAdmission(value: unknown, chatSessionUid: string): ArkmeDirectMessageAdmission; export declare class ArkmeDirectMessageAdmissionError extends ArkmePluginError { readonly admission: ArkmeDirectMessageAdmission; constructor(code: string, admission: ArkmeDirectMessageAdmission, message?: string); } /** Only new receiver-visible Chat messages use this adapter, never reads, reedit or historical mirroring. */ export declare function postChatMessageCreation(runtime: Pick, path: '/api/v1/chats/records/send' | '/api/v1/chats/records/forward' | '/api/v1/chats/extensions/children/create', body: Record, session?: ArkmeSessionCredentials, signal?: AbortSignal, options?: ArkmeRemoteRequestOptions): Promise; /** Chat remains the fact and eligibility owner; source references enforce account binding on the Host. */ export declare class DirectMessageAdmissionService implements ArkmeDirectMessageAdmissionPort { private readonly runtime; private readonly source; constructor(runtime: Pick, source: Pick); private context; directMessageAdmission(sourceRef: string, signal?: AbortSignal): Promise; setDirectMessageRefusal(sourceRef: string, refused: boolean, expectedRevision: number, signal?: AbortSignal): Promise; } //# sourceMappingURL=direct-message-admission-service.d.ts.map