import type { RemoteProvisionClaim } from './provisioning-pull'; /** * One reviewed guest request. The Metal Agent does not know or infer an * environment, product tier, tenant, or development shape: all differences are * desired-state coordinates supplied by the same authority that requests the * compute. */ export interface PlatformGenesisGuest { name: string; address: string; imageKey: string; cpuPoolKey?: string; physicalCores: number; vcpu: number; memoryGib: number; diskGib: number; diskEncryption?: 'none' | 'luks2'; egressGuaranteedMbps: number; egressBurstMbps: number; confidential: boolean; } export declare function validatePlatformGenesisGuests(guests: readonly PlatformGenesisGuest[], expectedCount?: number): readonly PlatformGenesisGuest[]; /** Convert reviewed desired state into the ordinary Metal provisioning claim. */ export declare function platformGenesisClaims(guests: readonly PlatformGenesisGuest[], sshPublicKeys: readonly string[]): readonly RemoteProvisionClaim[]; /** Exact inverse of the reviewed platform fleet. */ export declare function platformGenesisDeletionClaims(guests: readonly PlatformGenesisGuest[]): readonly RemoteProvisionClaim[]; /** Add one explicitly reviewed disposable node to the reviewed platform fleet. */ export declare function platformCommunityRehearsalClaims(seedGuests: readonly PlatformGenesisGuest[], rehearsalGuest: PlatformGenesisGuest, sshPublicKeys: readonly string[]): readonly RemoteProvisionClaim[]; /** Exact inverse of the reviewed disposable four-host request. */ export declare function platformCommunityRehearsalDeletionClaims(seedGuests: readonly PlatformGenesisGuest[], rehearsalGuest: PlatformGenesisGuest): readonly RemoteProvisionClaim[];