import z, { ZodObject } from "zod"; import { PromptObject } from "prompts"; import { ResourceGroupType } from "./resourceGroups"; export declare class BaseTemplate { name: string; directory: string; resourceGroupType?: ResourceGroupType; data: any; inputSchema: ZodObject | undefined; constructor(name: string, directory: string, resourceGroupType?: ResourceGroupType, dirname?: string); scripts: Record; static resourceGroupsSupported: ResourceGroupType[]; collectInputs(inputs: any): Promise; dependsOn(): Promise<{ files: string[]; packages: string[]; }>; generate(): Promise; destroy(): Promise; envPull(options: any): Promise; } export declare function parseInputSchema(template: string): z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}> | undefined; export declare function getInputPrompts(schema: ZodObject): Promise[]>;