import type { GoalScope } from '@dsh-enhanced/assistant-goals'; import { type CanaryAdmission, type HoldoutExecutionConfig, type HoldoutQualificationInput } from './holdout-qualification.js'; import { type CanaryAdmissionTemplate } from './repair-admission.js'; /** Public Host configuration. The authority owns its private dataset/key/state elsewhere. */ export interface ExternalHoldoutProfile { readonly id: string; readonly version: number; readonly scope: GoalScope; readonly execution: HoldoutExecutionConfig; readonly authority: { readonly executable: string; readonly args: readonly string[]; readonly publicKey: string; readonly datasetDigest?: string; readonly generatorDigest?: string; }; readonly inputs?: Readonly>; readonly files?: readonly { path: string; content: string; }[]; /** Required for canary admission. Legacy prospective profiles remain qualification-only. */ readonly canaryAdmission?: CanaryAdmission; /** Host-only repair admission, materialized only after an exact parent/candidate read. */ readonly canaryAdmissionTemplate?: CanaryAdmissionTemplate; readonly maxComparisons: 1; } export declare function validateExternalHoldoutProfiles(values: readonly ExternalHoldoutProfile[]): readonly ExternalHoldoutProfile[]; /** One bounded NDJSON pipe per qualification; malformed/uncertain responses poison the channel. */ export declare function openHoldoutProcess(authority: ExternalHoldoutProfile['authority'], signal: AbortSignal): Promise<{ transport: HoldoutQualificationInput['transport']; close(): Promise; }>; //# sourceMappingURL=external-holdout.d.ts.map