import type { NativeActionRef } from "@cargo-ai/workflow-sdk"; import type { Token } from "./core.js"; export type { NativeActionRef }; export type ResourceKindRef = "connector" | "model" | "folder" | "play" | "alert" | "tool" | "agent" | "workflow" | "member" | "segment" | "relationship" | "worker" | "domain" | "mailbox"; export type ResourceRef = { readonly uuid: Token | string; readonly resource: K; }; export type ConnectorRef = ResourceRef<"connector">; export type ModelRef = ResourceRef<"model">; export type FolderRef = ResourceRef<"folder">; export type PlayRef = ResourceRef<"play">; export type AlertRef = ResourceRef<"alert">; export type ToolRef = ResourceRef<"tool">; export type AgentRef = ResourceRef<"agent">; export type WorkflowRef = ResourceRef<"workflow">; export type MemberRef = ResourceRef<"member">; export type SegmentRef = ResourceRef<"segment">; export type RelationshipRef = ResourceRef<"relationship">; export type WorkerRef = ResourceRef<"worker">; export type DomainRef = ResourceRef<"domain">; export type MailboxRef = ResourceRef<"mailbox">; /** Reference a connector by uuid (e.g. an adopted OAuth connector). */ export declare const connectorRef: (uuid: string) => ConnectorRef; /** Reference a data model by uuid. */ export declare const modelRef: (uuid: string) => ModelRef; /** Reference a folder by uuid. */ export declare const folderRef: (uuid: string) => FolderRef; /** Reference a play by uuid (e.g. a `dependency` schedule's upstream play). */ export declare const playRef: (uuid: string) => PlayRef; /** Reference a span alert by uuid. */ export declare const alertRef: (uuid: string) => AlertRef; /** * Reference a workflow by its own uuid — the escape hatch for scoping an alert * to a workflow you didn't author in code. Distinct from `toolRef`/`agentRef`: * spans are keyed by the workflow behind a tool, not by the tool's row uuid, so * the two uuids are not interchangeable. */ export declare const workflowRef: (uuid: string) => WorkflowRef; /** * Reference a revenue-organization member by uuid — for territories. Prefer * `defineMember(email)`, whose handle goes in the same positions: a member's * uuid is workspace-specific, so a literal one pins the repo to one workspace. */ export declare const memberRef: (uuid: string) => MemberRef; /** Reference a segment by uuid. */ export declare const segmentRef: (uuid: string) => SegmentRef; /** Reference a model relationship by uuid (e.g. for a metric column). */ export declare const relationshipRef: (uuid: string) => RelationshipRef; /** Reference a hosting worker by uuid (e.g. a custom integration's backend). */ export declare const workerRef: (uuid: string) => WorkerRef; /** * Reference a sending domain by uuid — for a mailbox when the domain isn't * declared in this repo. Prefer `defineDomain(name)`, whose handle goes in * the same positions. */ export declare const domainRef: (uuid: string) => DomainRef; /** * Reference a mailbox by uuid — the escape hatch for `sendEmail` when the * mailbox isn't declared in this repo. Prefer `defineMailbox`, whose handle * `.uuid` is a token `sendEmail` accepts directly. */ export declare const mailboxRef: (uuid: string) => MailboxRef; /** * A reference to one action of a connector (e.g. an enrichment endpoint), for an * agent's / MCP server's `uses`. Produced by accessing the action off a connector * handle — `hunter.actions.emailFinder` — or with `connectorActionRef(connector, slug)`. * Unlike a `ResourceRef`, it carries the integration + action slug alongside the * connector's uuid (the action itself isn't a `define*` resource). */ export type ConnectorActionRef = { readonly resource: "connectorAction"; readonly connectorUuid: Token | string; readonly integration: S; readonly actionSlug: A; }; /** * Reference a connector action by an explicit connector + action slug — the * escape hatch when you don't have a typed connector handle (`connector.actions.` * is the typed way). */ export declare const connectorActionRef: (connector: { uuid: Token | string; integrationSlug?: string; }, actionSlug: string, integration?: string) => ConnectorActionRef; /** * A reference to a platform native action (e.g. `sendEmail`, `delay`), for an * agent's / MCP server's `uses`. Prefer the branded helper itself (`sendEmail`) * or `native.sendEmail`; this is the escape hatch for slugs that have no * helper (`script`, `humanReview`). */ export declare const nativeActionRef: (actionSlug: A) => NativeActionRef; /** Extract the uuid from a handle or ref (both carry `uuid`). */ export declare const refUuid: (ref: { uuid: Token | string; }) => Token | string; //# sourceMappingURL=refs.d.ts.map