import { JobInterpolationContext } from '@expo/eas-build-job'; import { BuildStepGlobalContext } from './BuildStepContext'; export declare enum BuildStepInputValueTypeName { STRING = "string", BOOLEAN = "boolean", NUMBER = "number", JSON = "json" } export type BuildStepInputValueType = T extends BuildStepInputValueTypeName.STRING ? string : T extends BuildStepInputValueTypeName.BOOLEAN ? boolean : T extends BuildStepInputValueTypeName.NUMBER ? number : Record; export type BuildStepInputById = Record; export type BuildStepInputProvider = (ctx: BuildStepGlobalContext, stepId: string) => BuildStepInput; interface BuildStepInputProviderParams { id: string; allowedValues?: unknown[]; defaultValue?: unknown; required: R; allowedValueTypeName: T; } interface BuildStepInputParams extends BuildStepInputProviderParams { stepDisplayName: string; } export declare class BuildStepInput { private readonly ctx; readonly id: string; readonly stepDisplayName: string; readonly defaultValue?: unknown; readonly allowedValues?: unknown[]; readonly allowedValueTypeName: T; readonly required: R; private _value?; static createProvider(params: BuildStepInputProviderParams): BuildStepInputProvider; constructor(ctx: BuildStepGlobalContext, { id, stepDisplayName, allowedValues, defaultValue, required, allowedValueTypeName, }: BuildStepInputParams); getValue({ interpolationContext, }: { interpolationContext: JobInterpolationContext; }): R extends true ? BuildStepInputValueType : BuildStepInputValueType | undefined; get rawValue(): unknown; set(value: unknown): BuildStepInput; isRawValueOneOfAllowedValues(): boolean; isRawValueStepOrContextReference(): boolean; private parseInputValueToAllowedType; private parseInputValueToString; private parseInputValueToNumber; private parseInputValueToBoolean; private parseInputValueToObject; } export declare function makeBuildStepInputByIdMap(inputs?: BuildStepInput[]): BuildStepInputById; export {};