import { z } from 'zod'; import type { DappDeploymentManifest, DappNamedDeployment } from './deploymentManifest.ts'; import type { DappDeploymentManifestV2, DappInfrastructureRequirement, DappNamedDeploymentV2 } from './deploymentManifestV2.ts'; import { DappDeploymentSourceResolutionModeV2 } from './deploymentManifestV2.ts'; import type { DappDeploymentRequestDocument } from './deploymentRequest.ts'; export declare const DappDeploymentSourceIssueCodes: readonly ["deployment.source-conflict", "deployment.source-invalid", "deployment.source-project-mismatch", "deployment.source-reference-invalid", "deployment.source-unknown"]; export declare const DappDeploymentSourceIssueCodeZod: z.ZodEnum<{ "deployment.source-conflict": "deployment.source-conflict"; "deployment.source-invalid": "deployment.source-invalid"; "deployment.source-project-mismatch": "deployment.source-project-mismatch"; "deployment.source-reference-invalid": "deployment.source-reference-invalid"; "deployment.source-unknown": "deployment.source-unknown"; }>; export type DappDeploymentSourceIssueCode = z.infer; export interface DappDeploymentSourceIssue { code: DappDeploymentSourceIssueCode; message: string; path: (number | string)[]; } export interface ResolveDappDeploymentSourceInput { deploymentManifest?: unknown; deploymentName: string; projectManifest: unknown; } export interface ResolvedDappDeploymentSource { deploymentManifest?: DappDeploymentManifest; deploymentManifestId?: string; mode: 'embedded-v1' | 'split-v2'; request: DappDeploymentRequestDocument; split?: DappNamedDeployment; } export type DappDeploymentSourceResolutionResult = { issues: DappDeploymentSourceIssue[]; success: false; } | { success: true; value: ResolvedDappDeploymentSource; }; export interface ResolveDappDeploymentSourceV2Input { deploymentManifest: unknown; deploymentName: string; projectManifest: unknown; } export interface ResolvedDappDeploymentSourceV2 { deployment: DappNamedDeploymentV2; deploymentManifest: DappDeploymentManifestV2; deploymentManifestId: string; mode: typeof DappDeploymentSourceResolutionModeV2; request: DappDeploymentRequestDocument; selectedInfrastructure: Record; } export type DappDeploymentSourceResolutionV2Result = { issues: DappDeploymentSourceIssue[]; success: false; } | { success: true; value: ResolvedDappDeploymentSourceV2; }; export type DappDeploymentSourceResolutionAnyResult = { issues: DappDeploymentSourceIssue[]; success: false; } | { schemaVersion: 1; success: true; value: ResolvedDappDeploymentSource; } | { schemaVersion: 2; success: true; value: ResolvedDappDeploymentSourceV2; }; export declare function resolveDappDeploymentSource(input: ResolveDappDeploymentSourceInput): DappDeploymentSourceResolutionResult; /** * Resolves one named deployment from a Deployment Manifest V2. A supplied V2 * manifest is authoritative: the deployment must exist there, and there is * never a fallback to an embedded V1 request. An embedded request for the same * name must be byte-equivalent after canonicalization or resolution fails with * `deployment.source-conflict`. */ export declare function resolveDappDeploymentSourceV2(input: ResolveDappDeploymentSourceV2Input): DappDeploymentSourceResolutionV2Result; /** * Dispatches on the exact (`$schema`, `schemaVersion`) pair of the supplied * deployment manifest. The pair must agree on one supported version; a V2 URL * with version 1, or any other disagreement, is rejected rather than guessed. * Without a deployment manifest the embedded V1 request path applies. */ export declare function resolveDappDeploymentSourceAny(input: ResolveDappDeploymentSourceInput): DappDeploymentSourceResolutionAnyResult; //# sourceMappingURL=deploymentSourceResolution.d.ts.map