import type { StudioAuthorizationEvidenceExpectation, StudioAuthorizationVerifier } from '../policy/types.js'; import { type KnowledgeEntry } from './types.js'; export interface PromotionAuthority { readonly keyId: string; readonly key: Uint8Array; } export interface PromotionApprovalRequest { readonly eventId: string; readonly proposalId: string; readonly candidateId: string; readonly approvedAt: string; readonly reason: string; readonly clientIdentifiers?: readonly string[]; } export interface TrustedPromotionApproval extends PromotionApprovalRequest { readonly actorPseudonym: string; readonly keyId: string; readonly signature: string; } export declare function authorizePromotionApproval(request: PromotionApprovalRequest, evidence: unknown, expectation: StudioAuthorizationEvidenceExpectation, verifier: StudioAuthorizationVerifier, inputAuthority: PromotionAuthority): TrustedPromotionApproval; export declare function promoteLearning(candidate: KnowledgeEntry, approval: TrustedPromotionApproval, inputAuthority?: PromotionAuthority): KnowledgeEntry;