import type { FileTransform, PipelineOptions } from 'mem-fs';
import type { MemFsEditorFile } from 'mem-fs-editor';
import type { Options as PrettierOptions } from 'prettier';
import { CommandBaseGenerator } from '../base/index.ts';
import type { Features as BaseFeatures, Options as BaseOptions } from '../base/types.d.ts';
import type command from './command.ts';
declare const MULTISTEP_TRANSFORM_PRIORITY: string;
declare const PRE_CONFLICTS_PRIORITY: string;
export default class BootstrapGenerator extends CommandBaseGenerator<typeof command> {
    [MULTISTEP_TRANSFORM_PRIORITY]: Record<string, (this: this) => unknown>;
    [PRE_CONFLICTS_PRIORITY]: Record<"queueCommitPrettierConfig", import("../base-core/types.js").GenericTask<any, any>>;
    static readonly MULTISTEP_TRANSFORM: string;
    static readonly PRE_CONFLICTS: string;
    upgradeCommand?: boolean;
    skipPrettier?: boolean;
    skipEslint?: boolean;
    prettierExtensions: string[];
    prettierOptions: PrettierOptions;
    refreshOnCommit: boolean;
    constructor(args?: string[], options?: BaseOptions, features?: BaseFeatures);
    beforeQueue(): Promise<void>;
    get multistepTransform(): Record<string, (this: this) => unknown>;
    get preConflicts(): Record<"queueCommitPrettierConfig", import("../base-core/types.js").GenericTask<any, any>>;
    /**
     * 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 {};
