/** * Transcend REST Client (Sombra API) * * Handles all REST API calls to the Transcend Sombra gateway for: * - DSR submission and management * - Consent preference sync * - LLM classification * - Data silo responses */ import type { DSRSubmission, DSRResponse, DownloadKey, EnrichIdentifiersInput, AccessResponseInput, ErasureResponseInput, PreferenceQueryInput, PreferenceUpsertInput, UserPreferences, LLMClassificationInput, LLMClassificationResult, NERExtractionInput, NERExtractionResult } from '../types/transcend.js'; import type { Logger } from './graphql/base.js'; export declare class TranscendRestClient { private apiKey; private baseUrl; private logger; private defaultTimeout; private defaultRetries; private lastRequestTime; private minRequestInterval; constructor(apiKey: string, baseUrl?: string, logger?: Logger); private rateLimitWait; private makeRequest; submitDSR(submission: DSRSubmission): Promise; getDSRStatus(requestId: string): Promise; getDSRDownloadKeys(requestId: string): Promise; downloadDSRFiles(downloadKey: string): Promise; listRequestIdentifiers(requestId: string): Promise[]>; enrichIdentifiers(input: EnrichIdentifiersInput): Promise<{ success: boolean; }>; respondToAccess(input: AccessResponseInput): Promise<{ success: boolean; }>; respondToAccessChunked(input: AccessResponseInput & { chunkIndex: number; totalChunks: number; }): Promise<{ success: boolean; }>; confirmErasure(input: ErasureResponseInput): Promise<{ success: boolean; }>; getPendingRequests(dataSiloId: string, requestType: 'ACCESS' | 'ERASURE'): Promise<{ requests: { id: string; identifiers: Record; }[]; }>; queryPreferences(input: PreferenceQueryInput): Promise; upsertPreferences(input: PreferenceUpsertInput): Promise<{ success: boolean; count: number; }>; deletePreferences(partition: string, identifiers: { value: string; type?: string; }[]): Promise<{ success: boolean; count: number; }>; appendIdentifiers(partition: string, userId: string, identifiers: { value: string; type?: string; }[]): Promise<{ success: boolean; }>; updateIdentifiers(partition: string, userId: string, identifiers: { oldValue: string; newValue: string; type?: string; }[]): Promise<{ success: boolean; }>; deleteIdentifiers(partition: string, userId: string, identifiers: { value: string; type?: string; }[]): Promise<{ success: boolean; }>; getConsentPreferences(identifier: string, partition?: string): Promise; syncConsent(preferences: UserPreferences): Promise<{ success: boolean; }>; classifyText(input: LLMClassificationInput): Promise; extractEntities(input: NERExtractionInput): Promise; getSombraPublicKey(): Promise<{ key: string; }>; testConnection(): Promise; getBaseUrl(): string; } //# sourceMappingURL=rest-client.d.ts.map