import { z } from '#compiled/zod/index.js'; import type { SerializedData } from './serialization.js'; import type { PaginationOptions, ResolveData } from './shared.js'; /** * Schema for workflow hooks. * * Note: metadata uses SerializedDataSchema to support both: * - specVersion >= 2: Uint8Array (binary devalue format) * - specVersion 1: any (legacy JSON format) */ export declare const HookSchema: z.ZodObject<{ runId: z.ZodString; hookId: z.ZodString; token: z.ZodString; ownerId: z.ZodString; projectId: z.ZodString; environment: z.ZodString; metadata: z.ZodOptional>, z.ZodType>]>>; createdAt: z.ZodCoercedDate; specVersion: z.ZodOptional; isWebhook: z.ZodOptional; isSystem: z.ZodOptional; }, z.core.$strip>; /** * Represents a hook that can be used to resume a paused workflow run. * * Note: metadata type is SerializedData to support both: * - specVersion >= 2: Uint8Array (binary devalue format) * - specVersion 1: unknown (legacy JSON format) */ export type Hook = z.infer & { /** The unique identifier of the workflow run this hook belongs to. */ runId: string; /** The unique identifier of this hook within the workflow run. */ hookId: string; /** The secret token used to reference this hook. */ token: string; /** The owner ID (team or user) that owns this hook. */ ownerId: string; /** The project ID this hook belongs to. */ projectId: string; /** The environment (e.g., "production", "preview", "development") where this hook was created. */ environment: string; /** Optional metadata associated with the hook, set when the hook was created. */ metadata?: SerializedData; /** The timestamp when this hook was created. */ createdAt: Date; /** The spec version when this hook was created. */ specVersion?: number; /** Whether this hook is resumable via the public webhook endpoint. undefined = legacy (treated as true for backwards compat). */ isWebhook?: boolean; /** Whether this hook is a system-managed hook (e.g., for abort signals). */ isSystem?: boolean; }; export interface CreateHookRequest { hookId: string; token: string; metadata?: SerializedData; isWebhook?: boolean; } export interface GetHookByTokenParams { token: string; } export interface ListHooksParams { runId?: string; pagination?: PaginationOptions; resolveData?: ResolveData; } export interface GetHookParams { resolveData?: ResolveData; } //# sourceMappingURL=hooks.d.ts.map