import { IReleaseApi } from "azure-devops-node-api/ReleaseApi";
import { Release, ReleaseDefinition } from "azure-devops-node-api/interfaces/ReleaseInterfaces";
import { TaskDefinition } from "azure-devops-node-api/interfaces/TaskAgentInterfaces";
import { IReleaseHelper } from "./ireleasehelper";
import { ILogger } from "../loggers/ilogger";
export declare class ReleaseHelper implements IReleaseHelper {
    private debugLogger;
    private releaseApi;
    constructor(releaseApi: IReleaseApi, logger: ILogger);
    getDefinitions(projectName: string): Promise<ReleaseDefinition[]>;
    findDefinitionsWithArtifact(projectName: string, artifactName: string, artifactType: string): Promise<ReleaseDefinition[]>;
    findDefinitionsWithTasks(name: string, projectName: string, tasks: TaskDefinition[]): Promise<ReleaseDefinition[]>;
    findDefinitionReleasesWithTasks(definitionId: number, projectName: string, tasks: TaskDefinition[]): Promise<Release[]>;
    removeDefinitionTasks(definition: ReleaseDefinition, tasks: TaskDefinition[]): Promise<ReleaseDefinition>;
    updateDefinitionTasks(definition: ReleaseDefinition, tasks: TaskDefinition[], taskParameters: {
        [name: string]: any;
    }, parametersFilter: {
        [name: string]: any;
    }): Promise<ReleaseDefinition>;
    updateReleaseTasks(release: Release, tasks: TaskDefinition[], taskParameters: {
        [name: string]: any;
    }, parametersFilter: {
        [name: string]: any;
    }): Promise<Release>;
    removeDefinitionArtifact(definition: ReleaseDefinition, artifactName: string, artifactType: string): Promise<ReleaseDefinition>;
    updateDefinition(definition: ReleaseDefinition, projectName: string): Promise<void>;
    updateRelease(release: Release, projectName: string): Promise<void>;
    private updateTaskParameters;
    private isTaskMatch;
}
