import '@polkadot/api-augment'; import { type AcurastProjectConfig, type JobRegistration } from '../types/project.js'; import type { EnvVar } from '../types/env.js'; import type { KeyStore } from '../chain/key-store.js'; import type { AcurastSigner } from '../chain/signer.js'; import type { TransactionQueue } from '../chain/tx-queue.js'; import { type IpfsUploadOptions } from '../ipfs/upload.js'; import { type Logger } from './logger.js'; export interface DeployProjectOptions { /** Wallet that signs the deploy extrinsic. */ wallet: AcurastSigner; /** WebSocket RPC endpoint for the target Acurast chain. */ rpcEndpoint: string; /** IPFS pinning service configuration. */ ipfs: IpfsUploadOptions; /** Environment variables to be encrypted + submitted after acknowledgement. */ envVars?: EnvVar[]; /** When true, upload to IPFS but skip the on-chain `deploy` extrinsic. */ onlyUpload?: boolean; /** Per-stage progress callback. */ statusCallback: (status: import('../types/deployment-status.js').DeploymentStatus, data?: any) => void; /** Persistent storage for ECDH keypairs used when encrypting env vars. */ keyStore?: KeyStore; /** Optional debug logger. */ logger?: Logger; /** * Submission authority shared by the deploy + env-var extrinsics. Defaults * to the shared per-account queue (prevents nonce collisions across rapid * successive deploys). See `TransactionQueue` in `@acurast/sdk/chain`. */ queue?: TransactionQueue; /** * Optional bundle-transform hook, invoked after `zipFolder` and before * IPFS upload. The hook may return a new zip path (e.g. one with a * DevTools snippet injected). */ transformBundle?: (opts: { zipPath: string; entrypoint: string; }) => Promise; /** Override for the temp-bundle directory. Defaults to `.acurast/bundles`. */ bundleFolder?: string; } /** * End-to-end deploy flow: bundle → IPFS → chain registration → env-var * encryption. Mirrors the behaviour of the legacy `createJob()` function in * the CLI, but takes all configuration explicitly. * * The orchestration is shared with the browser via {@link deployProjectCore}; * this Node entry supplies the fs/adm-zip bundling + IPFS upload step. */ export declare const deployProject: (config: AcurastProjectConfig, job: JobRegistration, options: DeployProjectOptions) => Promise; //# sourceMappingURL=deploy-project.d.ts.map