import z from 'zod';
import { Command } from 'commander';
import { FrameworkType, Framework } from '../framework';
import { LimgenProject, ProjectType } from '../project';
export declare const initOptionsSchema: z.ZodObject<{
    directory: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    name: z.ZodOptional<z.ZodString>;
    framework: z.ZodOptional<z.ZodString>;
    projectType: z.ZodOptional<z.ZodEnum<["fullstack-aws", "staticsite-aws", "fullstack-azure"]>>;
}, "strip", z.ZodTypeAny, {
    directory: string;
    name?: string | undefined;
    framework?: string | undefined;
    projectType?: "fullstack-aws" | "staticsite-aws" | "fullstack-azure" | undefined;
}, {
    directory?: string | undefined;
    name?: string | undefined;
    framework?: string | undefined;
    projectType?: "fullstack-aws" | "staticsite-aws" | "fullstack-azure" | undefined;
}>;
export declare const init: Command;
export declare function getProjectType(cmdArgs: z.infer<typeof initOptionsSchema>): Promise<any>;
export declare function collectProjectInputs(project: LimgenProject, cmdArgs: any, projectType: ProjectType, framework: FrameworkType): Promise<{
    constructor: Function;
    toString(): string;
    toLocaleString(): string;
    valueOf(): Object;
    hasOwnProperty(v: PropertyKey): boolean;
    isPrototypeOf(v: Object): boolean;
    propertyIsEnumerable(v: PropertyKey): boolean;
    projectName: string;
    projectType: ProjectType;
}>;
export declare function collectFrameworkInputs(framework: Framework, cmdArgs: any, projectInput: any): Promise<Object>;
export declare const delay: (ms: number) => Promise<unknown>;
