import type { IPrompt as YeomanUiStep, Prompts as YeomanUiSteps } from '@sap-devx/yeoman-ui-types';
import { type ILogWrapper } from '@sap-ux/fiori-generator-shared';
import { OdataVersion } from '@sap-ux/odata-service-inquirer';
import type { ConditionalStep, FioriAppGeneratorOptions, FioriGeneratorExtensionAPI, FioriGeneratorPromptExtension, FioriGeneratorSettings, FioriAppGeneratorPromptSettings, ReadonlyState, YeomanUiStepConfig } from '@sap-ux/fiori-app-sub-generator';
import { FloorplanFE, FloorplanFF, generatorName, PROJECT_TYPE, Template } from '@sap-ux/fiori-app-sub-generator';
import type { IVSCodeExtLogger, LogLevel } from '@vscode-logging/logger';
import Generator from 'yeoman-generator';
export default class Fiori extends Generator<FioriAppGeneratorOptions> {
    logger: ILogWrapper;
    prompts: YeomanUiSteps;
    yeomanUiStepConfig: YeomanUiStepConfig;
    private fioriSteps;
    setPromptsCallback: (fn: object) => void;
    private state;
    private floorplans;
    private fioriGenExtPath;
    private promptSettings;
    constructor(args: string | string[], opts: FioriAppGeneratorOptions);
    /**
     * Configures the vscode logger and yeoman logger to share single wrapper.
     * Set as an option to be passed to sub-gens.
     */
    _configureLogging(logLevel: LogLevel, vscLogger: IVSCodeExtLogger, vscode?: object): ILogWrapper;
    _setPrompts(steps: YeomanUiStep[]): void;
    prompting(): Promise<void>;
    /**
     * By deferring the composeWith of generator extensions to the `default` phase we ensure their writing phases occurs after FE/FF/FLP/Deploy generators writing phases.
     * This allows extensions to access and modify generated files if needed. Since the prompting phase has completed (for Fiori) before the `default` phase we can be sure that the state is complete.
     *
     */
    default(): void;
    /**
     * Find installed Fiori generator extension sub-generators.
     * Currently only 1 supported.
     *
     * @returns path of the first found Fiori generator extension subgen
     *
     */
    _findGeneratorExtensions(): Promise<string>;
    initializing(): Promise<void>;
    install(): void;
}
export { ConditionalStep, FioriGeneratorExtensionAPI, FioriGeneratorPromptExtension, FioriGeneratorSettings, FioriAppGeneratorPromptSettings, FloorplanFE, FloorplanFF, generatorName, OdataVersion, PROJECT_TYPE, ReadonlyState, Template };
//# sourceMappingURL=index.d.ts.map