/** * Workflow Links Resource * * Resource manager for shareable workflow links. * Allows creating, listing, and revoking links that give external * users access to form-based workflows. * * All input/output types are derived from Zod schemas in * `@artu-ai/shared`, which are also used by the API router for * runtime validation — guaranteeing the client and server stay * in sync. */ import type { CreateWorkflowLinkInput, CreateWorkflowLinkResult, RevokeWorkflowLinkResult, WorkflowLink } from "@artu-ai/shared"; import type { ResourceConfig } from "./base"; export type { CreateWorkflowLinkInput, CreateWorkflowLinkResult, RevokeWorkflowLinkResult, WorkflowLink, } from "@artu-ai/shared"; /** * Resource manager for workflow links. * * Workflow links are shareable URLs that give external users access to * form-based workflows without needing an account or API key. * * @example * ```typescript * // Create a link * const { id, url } = await sdk.workflows.links.create({ * workflowId: "wf_123", * allowedEmails: ["user@example.com"], * expiresAt: new Date("2025-12-31"), * }); * * // List active links * const links = await sdk.workflows.links.list("wf_123"); * * // Revoke a link * await sdk.workflows.links.revoke("link_abc"); * ``` */ export declare class WorkflowLinksResource { constructor(config: ResourceConfig); /** * Create a shareable link for a workflow. * * @param input - Link creation parameters * @returns The created link ID and full URL */ create(input: CreateWorkflowLinkInput): Promise; /** * List active links for a workflow. * * @param workflowId - The workflow ID to list links for * @returns Array of workflow links */ list(workflowId: string): Promise; /** * Revoke a workflow link, making it inaccessible. * * @param linkId - The link ID to revoke * @returns Success indicator */ revoke(linkId: string): Promise; }