import Joi from 'joi'; import { z } from 'zod'; import { Step } from './step'; export declare enum BuildMode { BUILD = "build", RESIGN = "resign", CUSTOM = "custom", REPACK = "repack" } export declare enum Workflow { GENERIC = "generic", MANAGED = "managed", UNKNOWN = "unknown" } export declare enum Platform { ANDROID = "android", IOS = "ios" } export declare enum ArchiveSourceType { NONE = "NONE", URL = "URL", PATH = "PATH", GCS = "GCS", GIT = "GIT", R2 = "R2" } export declare enum BuildTrigger { EAS_CLI = "EAS_CLI", GIT_BASED_INTEGRATION = "GIT_BASED_INTEGRATION" } export type ArchiveSource = { type: ArchiveSourceType.NONE; } | { type: ArchiveSourceType.GCS; bucketKey: string; metadataLocation?: string; } | { type: ArchiveSourceType.R2; bucketKey: string; } | { type: ArchiveSourceType.URL; url: string; } | { type: ArchiveSourceType.PATH; path: string; } | { type: ArchiveSourceType.GIT; /** * Url that can be used to clone repository. * It should contain embedded credentials for private registries. */ repositoryUrl: string; /** A Git ref - points to a branch head, tag head or a branch name. */ gitRef: string | null; /** * Git commit hash. */ gitCommitHash: string; }; export declare const ArchiveSourceSchema: Joi.ObjectSchema; export declare const ArchiveSourceSchemaZ: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral; repositoryUrl: z.ZodString; gitRef: z.ZodNullable; gitCommitHash: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; path: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; url: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; bucketKey: z.ZodString; metadataLocation: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral; }, z.core.$strip>], "type">; export type Env = Record; export declare const EnvSchema: Joi.ObjectSchema; export type EnvironmentSecret = { name: string; type: EnvironmentSecretType; value: string; }; export declare enum EnvironmentSecretType { STRING = "string", FILE = "file" } export declare const EnvironmentSecretsSchema: Joi.ArraySchema; export declare const EnvironmentSecretZ: z.ZodObject<{ name: z.ZodString; value: z.ZodString; type: z.ZodEnum; }, z.core.$strip>; export type Hooks = Record; export declare const HooksSchema: Joi.ObjectSchema; export declare const HooksZ: z.ZodRecord; if: z.ZodOptional; name: z.ZodOptional; working_directory: z.ZodOptional; env: z.ZodOptional>; __metrics_id: z.ZodOptional; run: z.ZodString; shell: z.ZodOptional; outputs: z.ZodOptional; }, z.core.$strip>>, z.ZodObject<{ name: z.ZodString; required: z.ZodOptional; }, z.core.$strip>]>>>; uses: z.ZodOptional; with: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ id: z.ZodOptional; if: z.ZodOptional; name: z.ZodOptional; working_directory: z.ZodOptional; env: z.ZodOptional>; __metrics_id: z.ZodOptional; uses: z.ZodString; with: z.ZodOptional>; run: z.ZodOptional; shell: z.ZodOptional; outputs: z.ZodOptional; }, z.core.$strip>]>>>; export interface Cache { disabled: boolean; clear: boolean; key?: string; /** * @deprecated We don't cache anything by default anymore. */ cacheDefaultPaths?: boolean; /** * @deprecated We use paths now since there is no default caching anymore. */ customPaths?: string[]; paths: string[]; } export declare const CacheSchema: Joi.ObjectSchema; export declare const StaticWorkflowInterpolationContextZ: z.ZodObject<{ after: z.ZodRecord>; }, z.core.$strip>>; needs: z.ZodRecord>; }, z.core.$strip>>; inputs: z.ZodOptional>>; github: z.ZodOptional; event_name: z.ZodEnum<{ push: "push"; pull_request: "pull_request"; workflow_dispatch: "workflow_dispatch"; schedule: "schedule"; }>; sha: z.ZodString; ref: z.ZodString; ref_name: z.ZodString; ref_type: z.ZodString; commit_message: z.ZodOptional; label: z.ZodOptional; repository: z.ZodOptional; repository_owner: z.ZodOptional; event: z.ZodOptional, z.ZodObject<{ label: z.ZodOptional>; head_commit: z.ZodOptional>; pull_request: z.ZodOptional>; number: z.ZodOptional; schedule: z.ZodOptional; inputs: z.ZodOptional>>; }, z.core.$strip>>>; }, z.core.$strip>>; workflow: z.ZodObject<{ id: z.ZodString; name: z.ZodString; filename: z.ZodString; url: z.ZodURL; }, z.core.$loose>; app: z.ZodObject<{ id: z.ZodString; slug: z.ZodString; }, z.core.$loose>; account: z.ZodObject<{ id: z.ZodString; name: z.ZodString; }, z.core.$loose>; app_store_connect: z.ZodOptional; app_version: z.ZodOptional; }, z.core.$loose>>; build_upload: z.ZodOptional; cf_bundle_version: z.ZodOptional; build: z.ZodOptional>; }, z.core.$loose>>; external_beta: z.ZodOptional; }, z.core.$loose>>; beta_feedback: z.ZodOptional; url: z.ZodString; }, z.core.$loose>>; }, z.core.$loose>>; }, z.core.$strip>; export type StaticWorkflowInterpolationContext = z.infer; export type DynamicInterpolationContext = { env: Record; success: () => boolean; failure: () => boolean; always: () => boolean; never: () => boolean; fromJSON: (value: string) => unknown; toJSON: (value: unknown) => string; contains: (value: string, substring: string) => boolean; startsWith: (value: string, prefix: string) => boolean; endsWith: (value: string, suffix: string) => boolean; hashFiles: (...globs: string[]) => string; replaceAll: (input: string, stringToReplace: string, replacementString: string) => string; substring: (input: string, start: number, end?: number) => string; }; export type WorkflowInterpolationContext = StaticWorkflowInterpolationContext & DynamicInterpolationContext; export type JobOutputs = Record; export declare const JobOutputsSchema: Joi.ObjectSchema; export declare const JobOutputsSchemaZ: z.ZodRecord; export declare const CustomBuildConfigSchema: Joi.ObjectSchema; export declare enum EasCliNpmTags { STAGING = "latest-eas-build-staging", PRODUCTION = "latest-eas-build" }