import * as nodeFs from 'fs'; import { CreateOutput, GeneratorContext, TemplateOptions } from '../utils/types'; type Changes = { created: string[]; conflicted: string[]; identical: string[]; forced: string[]; }; export declare function setCustomTemplatesRootPathOrGitRepo(pathOrRepoUri?: string, forceLoadingRemoteRepo?: boolean, fs?: typeof nodeFs): Promise; /** * Look up package version of @salesforce/templates package to supply a default API version */ export declare function getDefaultApiVersion(): string; declare abstract class NotYeoman { changes: Changes; protected readonly _fs: typeof nodeFs; protected readonly _cwd: string; private _sourceRoot; private _destinationRoot; constructor(context?: GeneratorContext, cwd?: string); destinationPath(...dest: string[]): string; destinationRoot(rootPath?: string): string; sourceRoot(rootPath?: string): string; templatePath(...dest: string[]): string; render(source: string, destination: string, data?: Record): Promise; private register; } export declare abstract class BaseGenerator extends NotYeoman { options: TOptions; /** * Set by sourceRootWithPartialPath called in generator */ builtInTemplatesRootPath?: string; protected outputdir: string; protected apiversion: string; private customTemplatesRootPath; protected readonly templatesRootPath: string | undefined; /** * The constructor for the SfGenerator. * * @param options SfGenerator specific options. * @param context optional generator context for fs and template path injection */ constructor(options: TOptions, context?: GeneratorContext, cwd?: string); /** * Set source root to built-in templates or custom templates root if available. * @param partialPath the relative path from the templates folder to templates root folder. */ sourceRootWithPartialPath(partialPath: string): void; templatePath(...paths: string[]): string; run(opts?: { cwd?: string; customTemplatesRootPathOrGitRepo?: string; sourceRootPartial?: string; }): Promise; /** * Validate provided options */ abstract validateOptions(): void; /** * Generate the files */ abstract generate(): Promise; } export {};