import type { Application } from '../application/application.model';
import type { ITask } from '../domain';
import type { IJob } from '../task/taskExecutor';
export interface IFunctionUpsertCommand extends IJob {
    functionName: string;
    cloudProvider: string;
    credentials: string;
    description?: string;
    region: string;
    operation: string;
}
export interface IFunctionDeleteCommand extends IJob {
    cloudProvider: string;
    functionName: string;
    credentials: string;
    region: string;
    vpcId?: string;
    operation?: string;
}
export declare class FunctionWriter {
    static deleteFunction(command: IFunctionDeleteCommand, application: Application): PromiseLike<ITask>;
    static upsertFunction(command: IFunctionUpsertCommand, application: Application, descriptor: string, params?: any): PromiseLike<ITask>;
}
