import { z } from 'zod'; /** * Deployment intent (D-031): the public-safe, alias-free projection of one * selected named deployment. Aliases are authoring keys; the intent binds each * thing, managed resource, and host partition to the immutable * `infrastructureId` its alias resolved to, plus that instance's safe * descriptor and policy identities. Renaming an alias in both source documents * therefore leaves `deploymentIntentId` unchanged, while remapping a binding * to a different registered instance changes it. */ export declare const DappDeploymentIntentSchema: "network.xyo.dapp.deployment.intent" & { readonly __schema: true; }; export declare const DappDeploymentIntentV1PreimageZod: z.ZodObject<{ schema: z.ZodLiteral<"network.xyo.dapp.deployment.intent" & { readonly __schema: true; }>; schemaVersion: z.ZodLiteral<1>; hashAlgorithm: z.ZodLiteral<"jcs-sha256-v1">; projectId: z.ZodString; deploymentName: z.ZodString; requestHash: z.ZodString; things: z.ZodArray; artifactId: z.ZodString; exposure: z.ZodEnum<{ public: "public"; private: "private"; }>; routes: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"api">; artifactId: z.ZodString; ports: z.ZodArray; routes: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"datalake">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"event-ingress">; artifactId: z.ZodString; eventStreamResource: z.ZodString; routes: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"event-stream">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"subscription-runner">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"indexer">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; projectionResource: z.ZodString; checkpointResource: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"controller">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; effectJournalResource: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"publisher">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; publicationResources: z.ZodArray; }, z.core.$strict>], "kind">; }, z.core.$strict>>; thingBindings: z.ZodArray>; resourceBindings: z.ZodArray>; hostBindings: z.ZodArray>; infrastructure: z.ZodArray; adapterId: z.ZodString; adapterVersion: z.ZodString; adapterDescriptorHash: z.ZodString; infrastructureDescriptorHash: z.ZodString; infrastructurePolicyHash: z.ZodString; expectedScopeCommitment: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>; export type DappDeploymentIntentV1Preimage = z.infer; export declare const DappDeploymentIntentV1Zod: z.ZodObject<{ schema: z.ZodLiteral<"network.xyo.dapp.deployment.intent" & { readonly __schema: true; }>; schemaVersion: z.ZodLiteral<1>; hashAlgorithm: z.ZodLiteral<"jcs-sha256-v1">; projectId: z.ZodString; deploymentName: z.ZodString; requestHash: z.ZodString; things: z.ZodArray; artifactId: z.ZodString; exposure: z.ZodEnum<{ public: "public"; private: "private"; }>; routes: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"api">; artifactId: z.ZodString; ports: z.ZodArray; routes: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"datalake">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"event-ingress">; artifactId: z.ZodString; eventStreamResource: z.ZodString; routes: z.ZodArray; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"event-stream">; resourceId: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"subscription-runner">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"indexer">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; projectionResource: z.ZodString; checkpointResource: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"controller">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; effectJournalResource: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"publisher">; subscriptionResource: z.ZodString; consumerActor: z.ZodString; publicationResources: z.ZodArray; }, z.core.$strict>], "kind">; }, z.core.$strict>>; thingBindings: z.ZodArray>; resourceBindings: z.ZodArray>; hostBindings: z.ZodArray>; infrastructure: z.ZodArray; adapterId: z.ZodString; adapterVersion: z.ZodString; adapterDescriptorHash: z.ZodString; infrastructureDescriptorHash: z.ZodString; infrastructurePolicyHash: z.ZodString; expectedScopeCommitment: z.ZodString; }, z.core.$strict>>; deploymentIntentId: z.ZodString; }, z.core.$strict>; export type DappDeploymentIntentV1 = z.infer; export declare const DappDeploymentIntentIssueCodes: readonly ["deployment.intent-input-invalid", "deployment.intent-verification-failed"]; export declare const DappDeploymentIntentIssueCodeZod: z.ZodEnum<{ "deployment.intent-input-invalid": "deployment.intent-input-invalid"; "deployment.intent-verification-failed": "deployment.intent-verification-failed"; }>; export type DappDeploymentIntentIssueCode = z.infer; export interface DappDeploymentIntentIssue { code: DappDeploymentIntentIssueCode; message: string; path: (number | string)[]; } export type DappDeploymentIntentV1Result = { issues: DappDeploymentIntentIssue[]; success: false; } | { success: true; value: DappDeploymentIntentV1; }; export interface CreateDappDeploymentIntentV1Input { /** A Deployment Manifest V2 document; it is normalized, never trusted as already normalized. */ deploymentManifest: unknown; deploymentName: string; /** The host's public-safe projection of every registered entry, keyed by the manifest alias. */ infrastructure: Readonly>; } /** D-002 kind `deployment-intent` version 1: `xyo-dapp-kit:deployment-intent:v1\n`. */ export declare function hashDappDeploymentIntentV1(preimage: unknown): string; /** * Resolves the aliases of one named deployment through the supplied safe * projections and builds the intent. Every referenced alias must be supplied * with a matching `kind`, two aliases may never resolve to one instance, and * unreferenced entries are ignored so an unselected registry edit never * changes the intent. */ export declare function createDappDeploymentIntentV1(input: CreateDappDeploymentIntentV1Input): DappDeploymentIntentV1Result; export declare function verifyDappDeploymentIntentV1(value: unknown): DappDeploymentIntentV1Result; //# sourceMappingURL=deploymentIntent.d.ts.map