import { QueueConfig } from './background-queue'; import { LiveProof, ConfirmedProofData } from './proof-types'; export interface RubricClientConfig { apiKey: string; node?: 'us' | 'sg' | 'jp' | 'ca' | 'eu' | 'auto'; localSigning?: boolean; keystorePath?: string; keystorePassphrase?: string; backgroundQueue?: boolean; queueConfig?: Partial; endpoint?: string; timeout?: number; enterprise?: boolean; tier?: 'developer' | 'standard' | 'enterprise'; proofUpgrade?: boolean; } export type RubricEventType = 'inference.decision' | 'inference.recommendation' | 'inference.classification' | 'inference.generation' | 'inference.screening' | 'inference.scoring' | 'human.review' | 'human.override' | 'human.approval' | 'human.rejection' | 'human.escalation' | 'model.deployment' | 'model.version-change' | 'model.retirement' | 'model.training-complete' | 'model.validation-complete' | 'model.calibration' | 'data.dataset-registered' | 'data.dataset-version' | 'data.quality-check' | 'data.drift-detected' | 'risk.assessment' | 'risk.mitigation-applied' | 'risk.threshold-breach' | 'risk.bias-detected' | 'incident.detected' | 'incident.reported' | 'incident.mitigated' | 'incident.resolved' | 'performance.benchmark' | 'performance.drift-detected' | 'performance.audit' | 'performance.monitoring' | 'compliance.conformity-assessed' | 'compliance.declaration-signed' | 'compliance.registration' | string; export type OutcomeType = 'approved' | 'rejected' | 'referred' | 'deferred' | 'escalated' | 'flagged' | 'generated' | 'classified' | 'scored' | 'no-action' | string; export type RiskLevel = 'minimal' | 'low' | 'medium' | 'high' | 'critical'; export type ModelTier = 'tier-1' | 'tier-2' | 'tier-3'; export type ValidationStatus = 'in-development' | 'pending-validation' | 'validated' | 'conditionally-approved' | 'approved' | 'under-review' | 'suspended' | 'retired'; export type IncidentSeverity = 'minor' | 'moderate' | 'serious' | 'critical'; export interface ComplianceFields { rubricEventType?: RubricEventType; systemId?: string; systemVersion?: string; modelVersion?: string; modelHash?: string; upstreamModelId?: string; outcome?: OutcomeType; confidence?: number; latencyMs?: number; inputHash?: string; outputHash?: string; sessionStartedAt?: string; sessionEndedAt?: string; workflowStep?: string; reviewerId?: string; reviewDecision?: 'confirmed' | 'overridden' | 'escalated' | 'deferred' | 'rejected-ai-output'; oversightMechanism?: string; humanOverrideReason?: string; riskLevel?: RiskLevel; riskFactors?: string[]; populationGroup?: string; affectedPersonCount?: number; jurisdiction?: string[]; regulatoryContext?: string[]; standardsApplied?: string[]; incidentId?: string; incidentSeverity?: IncidentSeverity; modelTier?: ModelTier; validationStatus?: ValidationStatus; validationId?: string; exceptionFlag?: boolean; datasetId?: string; datasetVersion?: string; tags?: Record; } export interface SystemRegistrationRequest { systemId: string; intendedUse: string; jurisdiction: string[]; systemName?: string; organizationName?: string; contactEmail?: string; description?: string; } export interface AttestationRequest extends ComplianceFields { agentId: string; sessionId?: string; decision: string; data?: Record; sourceId: string; output?: string; leafType?: string; metadata?: Record; pipelineId?: string; risk?: 'normal' | 'high'; payloadKey?: string; } export declare class RubricClient { private readonly config; private keyPair; private queue; private upgradeManager; private nodeIndex; private initialized; constructor(config: RubricClientConfig); init(): Promise; registerSystem(req: SystemRegistrationRequest): Promise; validatePayload(systemId: string, payload: Record): Promise; attest(req: AttestationRequest): Promise; attestAndConfirm(req: AttestationRequest, timeoutMs?: number): Promise; shutdown(): Promise; queueStats(): import("./background-queue").QueueStats; upgradeStats(): { tracking: number; }; private _submitInBackground; private _submitAndTrack; private _pollStatus; private _endpoint; } export declare function createRubricClient(config: RubricClientConfig): RubricClient; //# sourceMappingURL=rubric-client.d.ts.map