import { BuildStepGlobalContext } from './BuildStepContext'; export type BuildStepOutputById = Record; export type BuildStepOutputProvider = (ctx: BuildStepGlobalContext, stepDisplayName: string) => BuildStepOutput; interface BuildStepOutputProviderParams { id: string; required: R; } interface BuildStepOutputParams extends BuildStepOutputProviderParams { stepDisplayName: string; } type BuildStepOutputValueType = R extends true ? string : string | undefined; export interface SerializedBuildStepOutput { id: string; stepDisplayName: string; required: R; value?: string; } export declare class BuildStepOutput { private readonly ctx; readonly id: string; readonly stepDisplayName: string; readonly required: R; private _value?; static createProvider(params: BuildStepOutputProviderParams): BuildStepOutputProvider; constructor(ctx: BuildStepGlobalContext | undefined, { id, stepDisplayName, required }: BuildStepOutputParams); get rawValue(): string | undefined; get value(): BuildStepOutputValueType; set(value: BuildStepOutputValueType): BuildStepOutput; serialize(): SerializedBuildStepOutput; static deserialize(serialized: SerializedBuildStepOutput): BuildStepOutput; } export declare function makeBuildStepOutputByIdMap(outputs?: BuildStepOutput[]): BuildStepOutputById; export {};