import type { AuthorityArtifactTuple } from "./authority-artifact-binding.js"; import type { AuthorityBindingReason } from "./authority-artifact-binding.js"; import type { AuthoritySourceReason } from "./authority-artifact-binding.js"; import type { CliRunResult } from "./bearshell.js"; import type { GithubAuthorityFetchDiagnostic } from "./authority-fetch-worker.js"; export type AuthorityStatus = { readonly authorityEligible: boolean; readonly consumptionState: "consumed" | "not-applicable" | "unconsumed"; readonly enrollment: "available" | "unavailable"; readonly githubAuthentication: "available" | "unavailable"; readonly next: "authority-enroll-github" | "authority-fetch-github" | "github-authenticate" | "workflow-finish"; readonly state: "authentication-unavailable" | "enrollment-unavailable" | "missing" | "trusted"; }; export type AuthorityFetchArgs = { readonly artifactTuple?: AuthorityArtifactTuple; readonly json: boolean; readonly repositorySlug?: string; }; export type AuthorityVerifyArgs = { readonly artifactPath: string; readonly artifactTuple?: AuthorityArtifactTuple; readonly json: boolean; readonly repositorySlug?: string; }; export declare const AUTHORITY_VERIFY_REASONS: readonly ["archive-digest-mismatch", "archive-invalid", "artifact-invalid", "binding-mismatch", "consumption-invalid", "crypto-invalid", "enrollment-unavailable", "package-provenance-unavailable", "runtime-unsupported", "selection-required", "source-mismatch", "stale", "trust-unavailable", "verification-unavailable"]; export type AuthorityVerifyReason = typeof AUTHORITY_VERIFY_REASONS[number]; export declare function authorityUsage(invocationName?: string): string; export declare function parseReadOnlyArgs(args: readonly string[]): { readonly json: boolean; } | undefined; export declare function parseFetchArgs(args: readonly string[]): AuthorityFetchArgs | undefined; export declare function parseVerifyArgs(args: readonly string[]): AuthorityVerifyArgs | undefined; export declare function parseEnrollmentArgs(args: readonly string[]): { readonly repositorySlug: string; readonly workflowPath: string; } | undefined; export declare function textStatus(summary: AuthorityStatus, explain: boolean): CliRunResult; export declare function jsonStatus(summary: AuthorityStatus): CliRunResult; export declare function invalidAuthorityCommand(invocationName: string): CliRunResult; export declare function blockedFetch(json: boolean, state: string, next?: AuthorityStatus["next"], diagnostic?: GithubAuthorityFetchDiagnostic, bindingReason?: AuthorityBindingReason, sourceReason?: AuthoritySourceReason): CliRunResult; export declare function authorityVerifyResult(state: "blocked" | "trusted", reason: AuthorityVerifyReason | "none", sourceReason?: AuthoritySourceReason): CliRunResult; export declare function githubAuthenticationRequired(): CliRunResult;