/// <reference types="yeoman-generator" />
import { GeneratorOptions } from "@manuth/extended-yo-generator";
import { CodeWorkspaceProvider, ITSProjectSettings, IWorkspaceMetadata, JSONProcessor, TSProjectCodeWorkspaceFolder } from "@manuth/generator-ts-project";
import { IWoltLabSettings } from "../Settings/IWoltLabSettings.js";
import { WoltLabGenerator } from "../WoltLabGenerator.js";
declare const WoltLabCodeWorkspaceFolder_base: typeof TSProjectCodeWorkspaceFolder & (new (...args: any[]) => import("@manuth/extended-yo-generator").ObjectExtension<typeof TSProjectCodeWorkspaceFolder>);
/**
 * Provides a component for creating a code-workspace for {@link WoltLabGenerator `WoltLabGenerator<TSettings, TOptions>`}s.
 *
 * @template TSettings
 * The type of the settings of the generator.
 *
 * @template TOptions
 * The type of the options of the generator.
 */
export declare class WoltLabCodeWorkspaceFolder<TSettings extends IWoltLabSettings, TOptions extends GeneratorOptions> extends WoltLabCodeWorkspaceFolder_base<TSettings, TOptions> {
    /**
     * The base code-workspace folder.
     */
    private codeWorkspaceFolder;
    /**
     * Initializes a new instance of the {@link WoltLabCodeWorkspaceFolder `WoltLabCodeWorkspaceFolder<TSettings, TOptions>`} class.
     *
     * @param generator
     * The generator of the component.
     *
     * @param codeWorkspaceFolder
     * The base code-workspace folder.
     */
    constructor(generator: WoltLabGenerator<TSettings, TOptions>, codeWorkspaceFolder: TSProjectCodeWorkspaceFolder<ITSProjectSettings, GeneratorOptions>);
    /**
     * @inheritdoc
     */
    get Source(): CodeWorkspaceProvider<TSettings, TOptions>;
    /**
     * @inheritdoc
     */
    protected get Base(): TSProjectCodeWorkspaceFolder<ITSProjectSettings, GeneratorOptions>;
    /**
     * @inheritdoc
     */
    protected get WorkspaceProcessor(): JSONProcessor<TSettings, TOptions, IWorkspaceMetadata>;
    /**
     * @inheritdoc
     *
     * @param generator
     * The generator of the component.
     *
     * @returns
     * The newly created base.
     */
    protected InitializeBase(generator: WoltLabGenerator<TSettings, TOptions>): TSProjectCodeWorkspaceFolder<ITSProjectSettings, GeneratorOptions>;
}
export {};
