import { type JsonObject } from '../depot/shape.js'; /** The builder sizes Depot documents, as CPUxGB labels, smallest first. */ export declare const HARDWARE_LABELS: readonly ["4x4", "4x8", "8x8", "8x16", "16x32", "32x64", "64x128", "96x192", "192x384", "384x768"]; export type HardwareLabel = (typeof HARDWARE_LABELS)[number]; /** The enum name Depot's JSON binding accepts for a label: `16x32` travels as `HARDWARE_16X32`. */ export declare function hardwareWireName(label: HardwareLabel): string; /** Depot's `HARDWARE_UNSPECIFIED` means 16x32; comparisons treat the two as the same size. */ export declare function effectiveHardware(label: string | undefined): string | undefined; export interface ProjectSummary { projectId: string | undefined; name: string | undefined; organizationId: string | undefined; regionId: string | undefined; hardware: string | undefined; createdAt: string | undefined; cachePolicy: { keepDays: number | undefined; keepGb: number | undefined; }; } export declare function parseProject(source: JsonObject): ProjectSummary; export interface TrustPolicySummary { trustPolicyId: string | undefined; /** The oneof key Depot populated: github, buildkite, circleci, gitlab, or something newer. */ provider: string | undefined; /** Every scalar field of the provider object, as strings, so an unknown provider still shows. */ detail: Record; } export declare function parseTrustPolicy(source: JsonObject): TrustPolicySummary; /** * One line naming the external identity a policy admits, in the provider's own terms (from * depot/proto TrustPolicy): GitHub owner/repository, Buildkite organization/pipeline, CircleCI * organization and project UUIDs, GitLab namespace and project ids. `readString` tolerates * snake_case, so a policy recorded from the CLI reads the same. */ export declare function describeTrustIdentity(policy: TrustPolicySummary): string; //# sourceMappingURL=project.d.ts.map