import type { MemFsEditorFile } from 'mem-fs-editor';
import type { Options as PrettierOptions } from 'prettier';
import type { FileTransform, PipelineOptions } from 'mem-fs';
import BaseGenerator from '../base/index.js';
import type { GenericTaskGroup, TaskParamWithControl } from '../../lib/types/base/tasks.js';
declare const MULTISTEP_TRANSFORM_PRIORITY: string;
declare const PRE_CONFLICTS_PRIORITY: string;
export default class BootstrapGenerator extends BaseGenerator {
    [BaseGenerator.INITIALIZING]: any;
    [MULTISTEP_TRANSFORM_PRIORITY]: Record<string, (this: this) => unknown | Promise<unknown>>;
    [PRE_CONFLICTS_PRIORITY]: GenericTaskGroup<this, TaskParamWithControl>;
    static MULTISTEP_TRANSFORM: string;
    static PRE_CONFLICTS: string;
    upgradeCommand?: boolean;
    skipPrettier?: boolean;
    skipEslint?: boolean;
    skipForks?: boolean;
    prettierExtensions: string[];
    prettierOptions: PrettierOptions;
    refreshOnCommit: boolean;
    constructor(args: any, options: any, features: any);
    beforeQueue(): Promise<void>;
    get initializing(): GenericTaskGroup<any, TaskParamWithControl, "validateBlueprint">;
    get multistepTransform(): Record<string, (this: this) => unknown | Promise<unknown>>;
    get preConflicts(): GenericTaskGroup<this, TaskParamWithControl>;
    /**
     * Queue multi step templates transform
     */
    queueMultistepTransform(): void;
    queueCommitPrettierConfig(): void;
    commitPrettierConfig(): Promise<void>;
    commitTask(): Promise<void>;
    /**
     * Commits the MemFs to the disc.
     */
    commitSharedFs({ log, ...options }?: PipelineOptions<MemFsEditorFile> & {
        log?: string;
    }, ...transforms: FileTransform<MemFsEditorFile>[]): Promise<void>;
}
export {};
