export type AdmissionMode = 'portable' | 'managed';
export type RiskTier = 1 | 2 | 3;

export interface AdmissionDiagnostic {
  readonly code: string;
  readonly message: string;
}

export interface AdmissionResult {
  readonly inputDigest: `sha256:${string}`;
  readonly mode: AdmissionMode;
  readonly tier: RiskTier;
  readonly blockers: readonly AdmissionDiagnostic[];
  readonly warnings: readonly AdmissionDiagnostic[];
  readonly defaults: readonly AdmissionDiagnostic[];
}

export function normalizeTransport(input: string): string;
export function digestInput(input: string): `sha256:${string}`;
export function admitPacket(
  input: string,
  options?: { readonly mode?: AdmissionMode; readonly tier?: RiskTier },
): AdmissionResult;
export function run(argv: readonly string[]): number;
