import type { AppConfig, Config, DbConfig } from './interfaces/project-create-interface';
import type { ProjectCreateOptions } from './services/projects/create/options';
import type { ProjectMeta } from './services/projects/create/project-creator';
import type Database from './services/schema/update/database';
import type Spinner from './services/spinner';
import type { Language } from './utils/languages';
import type Messages from './utils/messages';
import type { Config as OclifConfig } from '@oclif/core';
import AbstractAuthenticatedCommand from './abstract-authenticated-command';
export default abstract class AbstractProjectCreateCommand extends AbstractAuthenticatedCommand {
    private readonly eventSender;
    private readonly optionParser;
    private readonly projectCreator;
    protected readonly database: Database;
    private readonly databaseAnalyzer;
    protected readonly messages: typeof Messages;
    protected readonly spinner: Spinner;
    protected abstract readonly agent: string | null;
    protected readonly requiresDatabase: boolean;
    static args: {
        applicationName: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
    };
    /** @see https://oclif.io/docs/commands */
    static description: string;
    constructor(argv: string[], config: OclifConfig, plan: any);
    protected runAuthenticated(): Promise<void>;
    protected generateProject(config: Config): Promise<void>;
    protected abstract dump(config: Config, schema?: any): Promise<void>;
    protected analyzeDatabase(dbConfig: DbConfig): Promise<any>;
    protected getConfig(): Promise<{
        appConfig: AppConfig;
        dbConfig: DbConfig;
        language: Language | null;
        meta: ProjectMeta;
        authenticationToken: string;
    }>;
    protected getCommandOptions(): Promise<ProjectCreateOptions>;
    protected testDatabaseConnection(dbConfig: DbConfig): Promise<void>;
    private notifySuccess;
    protected logNextSteps(): void;
}
//# sourceMappingURL=abstract-project-create-command.d.ts.map