import type { GuestBinding } from './guest-enrolment'; import type { RemoteDeploymentClaim } from './deployment-pull'; /** One native Compute has one fenced release lane; avoid parallel empty polls. */ export declare const NATIVE_DEPLOYMENT_PULL_PARALLELISM = 1; /** The heartbeat wakes a newly accepted intake immediately; steady polling is bounded. */ export declare const NATIVE_DEPLOYMENT_PULL_INTERVAL_MS = 10000; /** * A guest may claim native Deployment releases only after its one-time * enrolment has persisted the v3 binding. The caller separately gates actual * polling on the signed heartbeat's current intake directive. * * This intentionally does not inspect a Deployment, repository, or Vault * coordinate. Those arrive only in the signed, fenced native release claim. */ export declare function nativeDeploymentPullEnabled(pullRequested: boolean, binding: GuestBinding | null): boolean; /** * A native Agent never falls back to a unit-level source. The release claim is * the only authority for its repository capability and it expires with the * fenced claim lease. */ export declare function nativeDeploymentManagerForClaim(claim: Pick, create: (source: RemoteDeploymentClaim['source'], deploymentKey: string) => T): T;