import { PipelineNotification, PipelineSchema, StepSchema } from '../schema';
import { PipelineBuilder } from './PipelineBuilder';
import { StepBuilder } from './StepBuilder';
import { StepsBuilder } from './helpers/steps';
import { AgentsBuilder } from './helpers/agents';
import { NotifyBuilder } from './helpers/notifification';
import { EnvironmentBuilder } from './helpers/env';
export declare class Pipeline implements PipelineBuilder, AgentsBuilder, NotifyBuilder, StepsBuilder, EnvironmentBuilder {
    #private;
    getAgents(): Readonly<Record<string, string>>;
    /**
     * @deprecated Use .addAgent() instead
     */
    agent(tag: string, value: string): this;
    /**
     * @see https://buildkite.com/docs/agent/v3/cli-start#agent-targeting
     */
    addAgent(tag: string, value: string): this;
    getEnv(): Readonly<Record<string, unknown>>;
    addEnv(name: string, value: unknown): this;
    /**
     * @deprecated Use .addNotification() instead
     */
    notify(notification: PipelineNotification): this;
    /**
     * @see https://buildkite.com/docs/pipelines/notifications
     */
    addNotification(notification: PipelineNotification): this;
    getSteps(): ReadonlyArray<StepSchema | StepBuilder>;
    /**
     * @deprecated Use .addStep() instead
     */
    step(step: StepSchema | StepBuilder): this;
    addStep(step: StepSchema | StepBuilder): this;
    /**
     * @deprecated Use .addSteps() instead
     */
    steps(steps: Iterable<StepSchema | StepBuilder>): this;
    addSteps(steps: Iterable<StepSchema | StepBuilder>): this;
    build(): Promise<PipelineSchema>;
}
