import { ProjectDefinition } from '@angular-devkit/core/src/workspace';
import { Rule } from '@angular-devkit/schematics';
import { ApplicationType } from '../utils/application-type';
import { BuilderOutput, BuilderContext } from '@angular-devkit/architect';
import { Observable } from 'rxjs';
import { NxDeployItBaseOptions } from './base.adapter.model';
import { NxDeployItDeployBuilderSchema } from '../builders/deploy/schema';
import { DeployTargetOptions } from '../builders/deploy/target-options';
export declare class BaseAdapter {
    project: ProjectDefinition;
    options: NxDeployItBaseOptions;
    applicationType: ApplicationType;
    constructor(project: ProjectDefinition, options: NxDeployItBaseOptions, applicationType: ApplicationType);
    extendOptionsByUserInput(): Promise<void>;
    addRequiredDependencies(): {
        name: string;
        version: string;
    }[];
    getApplicationTypeTemplate(): Rule;
    getApplicationTemplatePath(): string;
    getDeployActionConfiguration(): any;
    getDestroyActionConfiguration(): any;
    deploy(context: BuilderContext, cwd: string, options: NxDeployItDeployBuilderSchema, configuration: string, targetOptions: any): Observable<BuilderOutput>;
    up(cwd: string, options: NxDeployItDeployBuilderSchema, configuration: string, targetOptions: DeployTargetOptions, distPath: string, projectName: string, additionArgs?: string[]): Observable<{
        success: boolean;
    }>;
    getStackOutput(cwd: string, configuration: string, projectName: string): any;
}
