import type { ArkmeSessionCredentials } from '../keychain-store.js'; import type { ArkmeMyVoiceprint, ArkmeRecognizedPersonDetail, ArkmeRecognizedPersonPage, ArkmeRecognizedVoiceprintLibrary, ArkmeVoiceprintGrantPage, ArkmeVoiceprintGrantRevocation, ArkmeVoiceprintInvitation, ArkmeVoiceprintPlaybackRestore, ArkmeVoiceprintEnrollmentResult } from '../types.js'; import type { ArkmePublicProfile } from './profile-service.js'; import { ServiceRuntime } from './service.js'; export interface ArkmeVoiceprintProfileReader { publicProfileSummariesByUserIds(userIds: readonly number[], session: ArkmeSessionCredentials, signal?: AbortSignal): Promise>; sealProfileImageRef(viewerUserId: number, targetUserId: number): Promise; } export interface ArkmeVoiceprintInviteTargetResolver { resolveRegisteredContactUserId(contactRef: string, session: ArkmeSessionCredentials, signal?: AbortSignal): Promise; } export interface ArkmeBoundVoiceprintEnrollment { enrollVoiceprintWav(input: { wav: Uint8Array; durationMs: number; }, options?: { signal?: AbortSignal; }): Promise; } export declare class VoiceprintService { private readonly runtime; private readonly profile; private readonly inviteTarget?; constructor(runtime: ServiceRuntime, profile: ArkmeVoiceprintProfileReader, inviteTarget?: ArkmeVoiceprintInviteTargetResolver | undefined); myVoiceprint(options?: { signal?: AbortSignal; }): Promise; outboundGrants(input: { cursor: string; limit: number; }, options?: { signal?: AbortSignal; }): Promise; recognizedPeople(input: { cursor: string; limit: number; }, options?: { signal?: AbortSignal; }): Promise; recognizedPerson(personRef: string, options?: { signal?: AbortSignal; }): Promise; private loadRecognizedPerson; recognizedPersonVoiceprints(personRef: string, options?: { signal?: AbortSignal; }): Promise; createInvitation(options?: { signal?: AbortSignal; }): Promise; createRecognizedPersonInvitation(personRef: string, targetContactRef: string | undefined, options?: { signal?: AbortSignal; }): Promise; revokePlaybackGrant(grantRef: string, options?: { signal?: AbortSignal; }): Promise; restorePlayback(options?: { signal?: AbortSignal; }): Promise; bindEnrollment(): Promise; enrollWav(input: { wav: Uint8Array; durationMs: number; }, options?: { signal?: AbortSignal; expectedViewerUserId?: number; }): Promise; private parseOutboundGrant; private parseRecognizedPerson; private projectRecognizedPerson; private loadPublicProfiles; private optionalAvatarRef; private sealRef; private openPersonRef; private openGrantRef; private invitationUrl; private invalidPersonRef; private invalidGrantRef; } //# sourceMappingURL=voiceprint-service.d.ts.map