import type { OutputOptions, TranspileFn } from "./types"; export declare function readConfig(solutionFiles: Record): ExerciseConfig; export type SolutionCode = { test: Record; user: Record; shared: Record; }; export declare function findCode(config: ExerciseConfig, files: Readonly>, userPaths: readonly string[], transpile: TranspileFn): SolutionCode; export declare function findUserCode(config: ExerciseConfig, files: Readonly>, userPaths: readonly string[]): Record; export declare function findLibCode(config: ExerciseConfig, files: Readonly>, userPaths: readonly string[]): Record; export declare function findTestCode(config: ExerciseConfig, files: Readonly>, userPaths: readonly string[]): Record; export type ExerciseConfig = Readonly<{ authors: readonly string[]; contributors: readonly string[]; files: Readonly<{ solution: readonly RegExp[]; test: readonly RegExp[]; exemplar: readonly RegExp[]; editor?: readonly RegExp[]; extra?: readonly RegExp[]; }>; blurb: string; custom?: Custom; }>; export type CustomJavaScriptConfig = { "version.tests.compatibility": "jest-27" | "jest-29"; "flag.tests.task-per-describe": boolean; "flag.tests.may-run-long": boolean; "flag.tests.includes-optional": boolean; }; export declare function importNameWithoutExtension(path: string, sep?: string): string; /** * Turns code into an ES Module (blob) so it can be references on the web * without requiring to exist on disk / url. * * Do not forget to clean up the blob after it's no longer necessary. * * @param code * @returns blob://<....> */ export declare const esm: ({ raw }: TemplateStringsArray, ...vals: string[]) => string; //# sourceMappingURL=utils.d.ts.map