import { ConfigFile, ConfigSectionReader, ConfigSectionWriter, NO_VALIDATION_TYPE } from '../config';
import { Logger } from '../ui';
import { AppDetails } from './app-config';
export interface CreateAppClientInput {
    name: string;
    description?: string;
    developerSpaceId?: string;
    billingConsent?: boolean;
}
export interface CreateAppResult {
    id: string;
    environments: {
        key: string;
    }[];
}
export interface CreateAppClient {
    createApp(input: CreateAppClientInput): Promise<CreateAppResult>;
}
export declare type RegisterAppResult = {
    environments: string[];
    analytics: {
        appId: string;
        appName: string;
    };
};
export declare class RegisterAppCommand {
    private readonly appClient;
    private readonly appConfigReader;
    private readonly appConfigWriter;
    private readonly logger;
    private readonly configFile;
    constructor(appClient: CreateAppClient, appConfigReader: ConfigSectionReader<NO_VALIDATION_TYPE>, appConfigWriter: ConfigSectionWriter<AppDetails>, logger: Logger, configFile: ConfigFile);
    execute(input: CreateAppClientInput, { shouldPrependAppName }?: {
        shouldPrependAppName?: boolean | undefined;
    }): Promise<RegisterAppResult>;
    registerApp(input: CreateAppClientInput, directory: string, { shouldPrependAppName, requiredProduct }: {
        shouldPrependAppName: boolean;
        requiredProduct?: string;
    }): Promise<CreateAppResult>;
}
//# sourceMappingURL=register-app.d.ts.map