import { OptionsConfig } from "./common/cli-options";
import { StudioTemplateProperty } from "./common/studio/studio-model";
/**
 * @alpha
 */
export interface GeneratedClientInfo {
    bundled: boolean;
    name: string;
    generators: GeneratorInfo[];
    bower?: boolean;
    clientBaseTech?: string;
}
export interface ProvidedClientInfo {
    bower: boolean;
    clientBaseTech: string;
}
export interface GeneratorInfo {
    name: string;
    description?: string;
    options?: OptionsConfig;
    params?: StudioTemplateProperty[];
}
export declare function collectClients(generatorFileName?: string): GeneratedClientInfo[];
/**
 * @alpha
 */
export declare function readClient(clientsDirPath: string, clientDirName: string, generatorFileName?: string): {
    bundled: boolean;
    name: string;
    bower: boolean;
    clientBaseTech: string;
    generators: GeneratorInfo[];
};
export declare function generate(generatorName: string, subGeneratorName: string, options?: {}, baseDir?: string): Promise<void>;
