import { BaseGenerator } from "../../common/base-generator";
import { CommonGenerationOptions } from "../../common/cli-options";
import { StudioProjectInfo } from "../../common/studio/studio-integration";
interface Answers {
    projectInfo: StudioProjectInfo;
}
declare enum RunMode {
    ALL = "ALL",
    MODEL = "MODEL"
}
/**
 * Yeoman generator for SDK.
 * Note, yeoman run all methods, declared in class - https://yeoman.io/authoring/#adding-your-own-functionality
 */
declare class SdkGenerator extends BaseGenerator<Answers, {}, CommonGenerationOptions> {
    conflicter: {
        force: boolean;
    };
    runMode: RunMode;
    constructor(args: string | string[], options: CommonGenerationOptions, runMode: RunMode);
    prompting(): Promise<void>;
    prepareModel(): Promise<void>;
    writing(): void;
    end(): void;
}
declare class SdkGeneratorRunner extends SdkGenerator {
    /**
     yeoman run all class methods - https://yeoman.io/authoring/#adding-your-own-functionality,
     but not from parent, so we need method to start generation
     process from inheritor classes
     NOTE that all new added methods in SdkGenerator should be added and run here
     */
    generate(): Promise<void>;
}
export declare class SdkAllGenerator extends SdkGeneratorRunner {
    constructor(args: string | string[], options: CommonGenerationOptions);
    generate(): Promise<void>;
}
export declare class SdkModelGenerator extends SdkGeneratorRunner {
    constructor(args: string | string[], options: CommonGenerationOptions);
    generate(): Promise<void>;
}
export {};
