import { Application } from 'core/application/application.model';
import { ITask } from 'core/domain';
import { IMoniker } from 'core/naming/IMoniker';
import { IJob } from 'core/task/taskExecutor';
export interface ILoadBalancerUpsertCommand extends IJob {
    name: string;
    cloudProvider: string;
    credentials: string;
    detail?: string;
    healthCheckProtocol?: string;
    healthCheck?: string;
    healthCheckPort?: number;
    healthCheckPath?: string;
    moniker?: IMoniker;
    region: string;
    stack?: string;
}
export interface ILoadBalancerDeleteCommand extends IJob {
    cloudProvider: string;
    loadBalancerName: string;
    credentials: string;
    regions?: string[];
    vpcId?: string;
}
export declare class LoadBalancerWriter {
    static deleteLoadBalancer(command: ILoadBalancerDeleteCommand, application: Application): PromiseLike<ITask>;
    static upsertLoadBalancer(command: ILoadBalancerUpsertCommand, application: Application, descriptor: string, params?: any): PromiseLike<ITask>;
}
