import type { FormatId } from '../format-contract.js'; import type { ConversionContract, ProjectEvidenceInput } from './assessment.js'; import { type Graph } from './graph.js'; import type { FileSource, OperationSources, ProjectionOptions } from './operation.js'; export interface ConvertGlobOptions { readonly cwd: string; readonly onlyFiles: true; readonly followSymbolicLinks: false; } export interface ConvertFileSystem { readFile(path: string): Promise; glob(patterns: readonly string[], options: ConvertGlobOptions): Promise; realpath(path: string): Promise; } export interface ConvertOptions extends ProjectionOptions { readonly contract?: ConversionContract; readonly sourceFormat?: FormatId; readonly fs?: ConvertFileSystem; readonly lineEnding?: 'lf' | 'crlf'; readonly evidence?: readonly ProjectEvidenceInput[]; } export type ProjectConvertOptions = Omit & Readonly<{ contract?: 'install'; sources?: Omit; }>; export interface CompanionFile { readonly path: string; readonly content: string; } export interface ProjectOutput { readonly lockfile: string; readonly companions: readonly CompanionFile[]; } export declare function convert(input: string, options: ConvertOptions): Promise; export declare function convert(input: Graph, options: ConvertOptions): Promise; export declare function convert(input: FileSource, options: ProjectConvertOptions): Promise;