import { Liquid, LiquidOptions } from 'liquidjs'; import { Logger } from '@xpack/logger'; import { InitTemplatePropertiesDefinitions, InitTemplateSubstitutionsVariables } from '../types/xpm-init-template.js'; import { Context } from '../types/xpm.js'; import type { Policies } from './policies.js'; export interface InitTemplateConstructorParameters { context: Context; __dirname: string; templatesPath: string; propertiesDefinitions: InitTemplatePropertiesDefinitions; process?: NodeJS.Process; options?: LiquidOptions; policies: Policies; } export declare abstract class InitTemplateBase { readonly context: Context; readonly log: Logger; readonly propertiesDefinitions: InitTemplatePropertiesDefinitions; readonly __dirname: string; readonly templatesPath: string; readonly engine: Liquid; substitutionsVariables?: InitTemplateSubstitutionsVariables; isInteractive: boolean; readonly process: NodeJS.Process; policies: Policies; constructor({ context, __dirname, templatesPath, propertiesDefinitions, process: _process, options, policies, }: InitTemplateConstructorParameters); run(): Promise; abstract generate(): Promise; isPlatformSupported(platforms: string[] | undefined): boolean; copyFile({ sourceFileRelativePath, destinationFilePath, }: { sourceFileRelativePath: string; destinationFilePath?: string; }): Promise; copyFolder({ sourceFolderRelativePath, destinationFolderPath, }: { sourceFolderRelativePath: string; destinationFolderPath?: string; }): Promise; render({ sourceFilePath, destinationFilePath, substitutionsVariables, }: { sourceFilePath: string; destinationFilePath: string; substitutionsVariables?: InitTemplateSubstitutionsVariables; }): Promise; validatePropertyValue(name: string, value: string): string | boolean | number; protected _askForMoreValues(): Promise; protected _copyFolderRecursively({ sourceFolderPath, destinationFolderPath, }: { sourceFolderPath: string; destinationFolderPath: string; }): Promise; protected _validatePropertiesDefinitions(): void; } //# sourceMappingURL=init-template-base.d.ts.map