/**
 * Scaffolding functions for CLI `init` command
 *
 * @module
 */
import type { Simplify } from 'type-fest';
import type { MkDocsYml } from './model';
import type { ScaffoldTask, ScaffoldTaskOptions } from './scaffold';
/**
 * Function which scaffolds an `mkdocs.yml` file
 */
export declare const initMkDocs: ScaffoldTask<InitMkDocsOptions, MkDocsYml>;
/**
 * Options for {@linkcode initMkDocs}
 */
export interface InitMkDocsOptions extends ScaffoldTaskOptions {
    copyright?: string;
    repoName?: string;
    repoUrl?: string;
    siteDescription?: string;
    siteName?: string;
}
export interface InitPythonOptions extends ScaffoldTaskOptions {
    /**
     * Path to `python` (v3.x) executable
     */
    pythonPath?: string;
    /**
     * If true, upgrade only
     */
    upgrade?: boolean;
}
/**
 * Options for `init` command handler
 *
 * The props of the various "path" options are rewritten as `dest` for the scaffold tasks functions.
 */
export type InitOptions = Simplify<Omit<InitPythonOptions & InitMkDocsOptions, 'dest'> & {
    /**
     * If `true` will install Python deps
     */
    python?: boolean;
    /**
     * If `true` will initialize a `mkdocs.yml` file
     */
    mkdocs?: boolean;
    /**
     * Path to existing `package.json` file
     */
    packageJson?: string;
    /**
     * Path to new or existing `mkdocs.yml` file
     */
    mkdocsYml?: string;
    /**
     * If `true`, upgrade only
     */
    upgrade?: boolean;
}>;
/**
 * Installs Python dependencies
 * @param opts Options
 */
export declare function initPython({ pythonPath, dryRun, upgrade }?: InitPythonOptions): Promise<void>;
/**
 * Main handler for `init` command.
 *
 * This runs tasks in serial; it _could_ run in parallel, but it has deleterious effects upon
 * console output which would need mitigation.
 */
export declare function init({ python, packageJson: packageJsonPath, overwrite, mkdocs, mkdocsYml: mkdocsYmlPath, siteName, repoName, repoUrl, copyright, dryRun, cwd, pythonPath, upgrade, }?: InitOptions): Promise<void>;
//# sourceMappingURL=init.d.ts.map