import type { FormatId } from '../format-contract.js'; import type { ConversionAssessment, PackageManager, PinnedTargetRequest, ProjectEvidenceInput } from './assessment.js'; import { type Graph } from './graph.js'; import type { FileSource, OperationResult, OperationSources, ProjectionOptions } from './operation.js'; import { type CompanionFile, type ConvertFileSystem } from './convert.js'; export interface FrozenOptions extends Omit { readonly target: PinnedTargetRequest; readonly sourceFormat?: FormatId; readonly fs?: ConvertFileSystem; readonly lineEnding?: 'lf' | 'crlf'; readonly evidence?: readonly ProjectEvidenceInput[]; } export type ProjectFrozenOptions = Omit & Readonly<{ sources?: Omit; }>; export interface FrozenVerificationSubject { readonly protocol: 'lockgraph-frozen-projection/v1'; readonly target: PinnedTargetRequest; readonly projectionDigest: string; } export interface FrozenCandidate extends FrozenVerificationSubject { readonly lockfile: string; readonly companions: readonly CompanionFile[]; } export interface FrozenCertificationOptions { readonly files: FileSource; readonly cwd?: string; readonly fs?: ConvertFileSystem; readonly manager: Exclude; readonly version: string; readonly platform?: string; } export interface FrozenVerificationReceipt extends FrozenVerificationSubject { readonly verification: 'frozen-verified'; readonly platform: string; readonly oracle: Readonly<{ protocol: 'lockgraph-native-frozen/v1'; manager: Exclude; version: string; }>; } export interface FrozenPreparationResult extends OperationResult { readonly candidate: FrozenCandidate; readonly assessment: ConversionAssessment; } export interface FrozenConversionResult extends OperationResult { readonly lockfile: string; readonly companions: readonly CompanionFile[]; readonly verification: FrozenVerificationReceipt; readonly assessment: ConversionAssessment; } export declare function prepareFrozen(input: string | Graph, options: FrozenOptions): Promise; export declare function prepareFrozen(input: FileSource, options: ProjectFrozenOptions): Promise; export declare function certifyFrozen(candidate: FrozenCandidate, options: FrozenCertificationOptions): Promise;