import type { IArtifact, IArtifactKindConfig, IArtifactSource, IExecutionContext, IExpectedArtifact, IPipeline, IStage } from '../domain';
export declare class ExpectedArtifactService {
    static getExpectedArtifactsAvailableToStage(stage: IStage, pipeline: IPipeline): IExpectedArtifact[];
    static accumulateArtifacts<T>(fields: string[]): (stageContext: IExecutionContext) => T[];
    static createEmptyArtifact(): IExpectedArtifact;
    static addArtifactTo(artifact: IExpectedArtifact, obj: any): IExpectedArtifact;
    static addNewArtifactTo(obj: any): IExpectedArtifact;
    static artifactFromExpected(expected: IExpectedArtifact): IArtifact | null;
    static sourcesForPipelineStage(pipelineGetter: () => IPipeline, stage: IStage): Array<IArtifactSource<IPipeline | IStage>>;
    static getKindConfig(artifact: IArtifact, isDefault: boolean): IArtifactKindConfig;
}
