export declare const HANDOFF_CARRY_SCHEMA_VERSION: "onboard-client-handoff-carry-v1"; export interface HandoffCarryProjection { receipt: { publicReceiptSha256: string; tailSequence: number; tailDigest: string; localProofSha256: string; verifierSha256: string; }; learning: { id: string; state: "verified"; applicability: string; nonApplicability: string; }; strategy: { revisionId: string; strategyFingerprint: string; materialStrategyFingerprint: string; failedObservationId: string; }; authority: { source: string; transferToTarget: "identities_only_not_authority"; syntheticApprovalTransferability: "non-transferable"; liveOperatorApprovalStatus: "outstanding"; exactSendApprovalStatus: "separate_if_needed"; noCustomerInvite: true; forbiddenEffects: string[]; }; scope: { executionScope: "local_then_target_host"; sourceScope: string; targetScope: string; }; source: { repoPath: string; branch: string; commit: string; trackedDirtyState: "clean"; commandSourceSha256: string; runtimeSourceSha256: string; runtimeDistSha256: string; }; package: { name: string; version: string; manifestSha256: string; registryState: string; packageIntegrity: string; }; target: { customerSlug: string; profileId: string; targetHostClass: string; targetHostPhysicalIdentity: string; }; environment: { local: string; registry: "not_run"; privateSlack: "not_run"; productionMcpHost: "not_run"; hermesHost: "not_run"; }; } export type HandoffCarryComponent = keyof HandoffCarryProjection; export interface HandoffCarryInput { schemaVersion: typeof HANDOFF_CARRY_SCHEMA_VERSION; sourceBundleDigest: string; projection: HandoffCarryProjection; projectionDigest: string; } export interface HandoffCarryExpectations { sourceBundleDigest: string; componentDigests: Record; } export type HandoffCarryBlockerCode = "handoff_carry_input_invalid" | "handoff_carry_nested_owner_refused" | "handoff_carry_source_bundle_drift" | "handoff_carry_receipt_drift" | "handoff_carry_learning_drift" | "handoff_carry_strategy_drift" | "handoff_carry_authority_drift" | "handoff_carry_scope_drift" | "handoff_carry_source_drift" | "handoff_carry_package_drift" | "handoff_carry_target_drift" | "handoff_carry_host_default_drift" | "handoff_carry_projection_drift"; export type HandoffCarryResult = { ok: true; kind: "handoff_carry_validation"; status: "validated"; sourceBundleDigest: string; projectionDigest: string; projection: HandoffCarryProjection; syntheticApprovalTransferable: false; liveOperatorApproval: "outstanding"; hostProof: "not_run"; callbackCount: 0; writeAttempted: false; } | { ok: false; kind: "handoff_carry_blocked"; status: "blocked"; code: HandoffCarryBlockerCode; callbackCount: 0; writeAttempted: false; }; export declare function validateOnboardClientHandoffCarry(input: HandoffCarryInput, expectations: HandoffCarryExpectations): HandoffCarryResult;