import { RepoTherapyUtilBase } from './base.js'; import type RepoTherapy from './repo-therapy.js'; import type { FilePath, ObjectDefinition } from './types.js'; import type { ValueTypeDefinition } from '../generated/types/value-types.js'; export type Options = {}, StaticName extends boolean = false> = { staticName?: StaticName; variableDefinitions?: (valueType: ValueTypeDefinition) => ObjectDefinition; }; export type StudFile = { source: FilePath; destination: StaticName extends true ? FilePath : (name: string) => FilePath; }; export default class RTStud = {}, StaticName extends boolean = false, CustomOptions extends object = object> extends RepoTherapyUtilBase & CustomOptions & { files: StudFile[]; }> { get staticName(): boolean; get files(): { destination: StaticName extends true ? `/${string}` : (name: string) => FilePath; source: string; content: string; }[]; constructor(repoTherapy: RepoTherapy, files: StudFile[], options: Options & CustomOptions); protected _getPath(path: FilePath): `/${string}` | undefined; getSections(): string[]; getVariables(): ObjectDefinition; private parseContent; writeFiles(name: string, variables: Variables, removeSection: string[]): void; static define = {}, U extends boolean = false, V extends object = object>(files: StudFile[], options?: Options & V): (repoTherapy: RepoTherapy) => RTStud; } //# sourceMappingURL=stud.d.ts.map