import { yParser } from '@winner-fed/utils';
import { type WinTemplate } from './template';
interface ITemplateArgs {
    template?: WinTemplate;
}
interface IArgs extends yParser.Arguments, ITemplateArgs {
    default?: boolean;
    git?: boolean;
    install?: boolean;
}
interface ITemplatePluginParams {
    pluginName?: string;
}
interface ITemplateParams extends ITemplatePluginParams {
    version: string;
    projectName: string;
    appContainerName: string;
    npmClient: ENpmClient | string;
    registry: string;
    author: string;
    email: string;
    withHusky: boolean;
    extraNpmrc: string;
}
declare enum ENpmClient {
    npm = "npm",
    yarn = "yarn",
    pnpm = "pnpm"
}
declare enum ETemplate {
    app = "app",
    pc = "pc",
    plugin = "plugin",
    sample = "sample"
}
export interface IDefaultData extends ITemplateParams {
    appTemplate?: ETemplate;
}
interface IGeneratorOpts {
    cwd: string;
    args: IArgs;
    defaultData?: IDefaultData;
}
declare const _default: ({ cwd, args, defaultData, }: IGeneratorOpts) => Promise<void>;
export default _default;
