import type { RootDenoJson } from './root-deno-json.js'; import type { Manager } from './manager.js'; import type { Project } from './project.js'; type CreateArgs = { projectName: string; scopeName: string; packageName: string; version: string; }; type CloneArgs = { denoJson: RootDenoJson; localGenerators: Record; generatorsDenoJson: Record; manager: Manager; }; type InstallArgs = { denoJson: RootDenoJson; }; type AddArgs = { project: Project; generatorType: 'operation' | 'model'; }; type PathOptions = { relative?: boolean; }; export declare class Generator { projectName: string; scopeName: string; packageName: string; version: string; private constructor(); static create({ projectName, scopeName, packageName, version }: CreateArgs): Generator; install({ denoJson }: InstallArgs): void; add({ project, generatorType }: AddArgs): Promise; createFiles(generatorPath: string, manager: Manager): Promise; clone({ denoJson, manager, localGenerators, generatorsDenoJson }: CloneArgs): Promise; static fromName({ projectName, scopeName, packageName, version }: FromNameArgs): Generator; remove(project: Project): void; toFullName(): string; toModuleName(): string; toPath({ relative }: PathOptions): string; toModPath({ relative }: PathOptions): string; } type FromNameArgs = { projectName: string; scopeName: string; packageName: string; version: string; }; export declare const getGeneratorsRootDenoJson: () => Promise; export {}; //# sourceMappingURL=generator.d.ts.map