import * as sanity from 'sanity'; type VercelDeployState = 'QUEUED' | 'INITIALIZING' | 'BUILDING' | 'READY' | 'ERROR' | 'CANCELED' | 'LOADING'; /** A vercel_deploy document stored in the Sanity dataset */ interface DeployTarget { _id: string; _type: 'vercel_deploy'; name: string; /** Full Vercel deploy hook URL */ url: string; /** Vercel team ID — optional, only needed for team projects */ teamId?: string; /** Prevent editors from deleting this target */ disableDeleteAction?: boolean; } /** A single deployment returned by GET /v6/deployments */ interface VercelDeployment { uid: string; /** Preview hostname, e.g. my-project-abc123.vercel.app */ url: string; state: VercelDeployState; /** Unix ms timestamp — when the deployment was created */ created: number; /** Unix ms timestamp — when the deployment became ready */ ready?: number; /** Link to the Vercel dashboard page for this deployment */ inspectorUrl?: string; creator?: { uid: string; username: string; avatar?: string; }; meta?: { githubCommitMessage?: string; githubCommitRef?: string; githubCommitSha?: string; githubCommitAuthorName?: string; /** GitHub repo in "org/repo" format — used to construct commit links */ githubRepo?: string; /** GitHub org slug — fallback when githubRepo is absent */ githubCommitOrg?: string; }; } /** Plugin configuration options */ interface VercelDeployPluginConfig { /** Tool name slug shown in Studio sidebar (default: 'vercel-deploy') */ name?: string; /** Tool label shown in Studio sidebar (default: 'Deploy') */ title?: string; /** Custom icon component */ icon?: React.ComponentType; } declare const vercelDeploySchema: { type: "document"; name: "vercel_deploy"; } & Omit & { preview?: sanity.PreviewConfig<{ title: string; subtitle: string; }, Record<"title" | "subtitle", any>> | undefined; }; /** * Sanity Studio v5 plugin — trigger and monitor Vercel deployments. * * @example * // sanity.config.ts * import { vercelDeploy } from '@liiift-studio/deploy-vercel-from-sanity' * * export default defineConfig({ * plugins: [ * vercelDeploy(), * // or with options: * vercelDeploy({ title: 'Deploy', name: 'vercel-deploy' }), * ], * }) */ declare const vercelDeploy: sanity.Plugin; export { type DeployTarget, type VercelDeployPluginConfig, type VercelDeployState, type VercelDeployment, vercelDeploy, vercelDeploySchema };