import { type autocomplete } from "@ark/util"; import type * as prettier from "prettier"; import type ts from "typescript"; import { type TsVersionData } from "./tsVersioning.ts"; export type TsVersionAliases = autocomplete<"*"> | string[]; export type BenchErrorConfig = "runtime" | "types" | boolean; type BaseAttestConfig = { tsconfig: string | null | undefined; compilerOptions: ts.CompilerOptions; updateSnapshots: boolean; failOnMissingSnapshots: boolean; /** A string or list of strings representing the TypeScript version aliases to run. * * Aliases must be specified as a package.json dependency or devDependency beginning with "typescript". * Alternate aliases can be specified using the "npm:" prefix: * ```json * "typescript": "latest", * "typescript-next: "npm:typescript@next", * "typescript-1": "npm:typescript@5.2" * "typescript-2": "npm:typescript@5.1" * ``` * * "*" can be pased to run all discovered versions beginning with "typescript". */ tsVersions: TsVersionAliases | TsVersionData[]; skipTypes: boolean; skipInlineInstantiations: boolean; attestAliases: string[]; benchPercentThreshold: number; benchErrorOnThresholdExceeded: BenchErrorConfig; filter: string | undefined; testDeclarationAliases: string[]; formatCmd: string; shouldFormat: boolean; /** * Provided options will override the following defaults. * Any options not listed will fallback to Prettier's default value. * * { * semi: false, * printWidth: 60, * trailingComma: "none", * } */ typeToStringFormat: prettier.Options; }; export type AttestConfig = Partial; export declare const getDefaultAttestConfig: () => BaseAttestConfig; export declare const attestEnvPrefix = "ATTEST_"; export interface ParsedAttestConfig extends Readonly { cacheDir: string; assertionCacheDir: string; defaultAssertionCachePath: string; tsVersions: TsVersionData[]; } export declare const getConfig: () => ParsedAttestConfig; export declare const ensureCacheDirs: () => void; export {};