import { SourceLanguage, LogLevels, NpmClientType } from '../types';
import { ForceOverwrite } from '../common';
export interface NewPiletOptions {
    /**
     * The package registry to use for resolving the specified Piral app.
     */
    registry?: string;
    /**
     * The target directory for scaffolding. By default, the current directory.
     */
    target?: string;
    /**
     * The source package containing a Piral instance for templating the scaffold process.
     */
    source?: string;
    /**
     * Defines a custom certificate for the website emulator.
     */
    cert?: string;
    /**
     * Allow self-signed certificates.
     */
    allowSelfSigned?: boolean;
    /**
     * Determines if files should be overwritten by the scaffolding.
     */
    forceOverwrite?: ForceOverwrite;
    /**
     * Determines the programming language for the new pilet.
     * @example 'ts'
     */
    language?: SourceLanguage;
    /**
     * States if the npm dependencies should be installed when scaffolding.
     */
    install?: boolean;
    /**
     * Sets the boilerplate template to be used when scaffolding.
     * @example 'empty'
     */
    template?: string;
    /**
     * Sets the log level to use (1-5).
     */
    logLevel?: LogLevels;
    /**
     * The npm client to be used when scaffolding.
     * @example 'yarn'
     */
    npmClient?: NpmClientType;
    /**
     * Sets the default bundler to install.
     * @example 'parcel'
     */
    bundlerName?: string;
    /**
     * Places additional variables that should used when scaffolding.
     */
    variables?: Record<string, string>;
    /**
     * Sets Pilet's name
     */
    name?: string;
}
export declare const newPiletDefaults: NewPiletOptions;
export declare function newPilet(baseDir?: string, options?: NewPiletOptions): Promise<void>;
