import { Schema } from "effect";
/** An integration's catalog slug — one API surface (e.g. "vercel", "google"). */
export declare const IntegrationSlug: Schema.brand<Schema.String, "IntegrationSlug">;
export type IntegrationSlug = typeof IntegrationSlug.Type;
/** Which of an integration's declared auth methods a connection applies through. */
export declare const AuthTemplateSlug: Schema.brand<Schema.String, "AuthTemplateSlug">;
export type AuthTemplateSlug = typeof AuthTemplateSlug.Type;
/** The sentinel template for integrations that require no credential (e.g. a
 *  public MCP server). Connections on it legitimately bind zero inputs — an
 *  empty `item_ids` map is their canonical persisted shape. */
export declare const NO_AUTH_TEMPLATE: string & import("effect/Brand").Brand<"AuthTemplateSlug">;
/** A connection's name — the `<connection>` segment of an address, scoped under
 *  its integration + owner (so the same name can exist on two integrations). */
export declare const ConnectionName: Schema.brand<Schema.String, "ConnectionName">;
export type ConnectionName = typeof ConnectionName.Type;
/** A registered OAuth app's slug. */
export declare const OAuthClientSlug: Schema.brand<Schema.String, "OAuthClientSlug">;
export type OAuthClientSlug = typeof OAuthClientSlug.Type;
/** OAuth flow correlation token, minted by `start`, consumed by `complete`. */
export declare const OAuthState: Schema.brand<Schema.String, "OAuthState">;
export type OAuthState = typeof OAuthState.Type;
/** A credential backend's key (e.g. "default", "1password", "keychain"). */
export declare const ProviderKey: Schema.brand<Schema.String, "ProviderKey">;
export type ProviderKey = typeof ProviderKey.Type;
/** A provider's own opaque handle for a stored value. Core never parses it. */
export declare const ProviderItemId: Schema.brand<Schema.String, "ProviderItemId">;
export type ProviderItemId = typeof ProviderItemId.Type;
/** Handle for one connection: `tools.<integration>.<owner>.<connection>`. */
export declare const ConnectionAddress: Schema.brand<Schema.String, "ConnectionAddress">;
export type ConnectionAddress = typeof ConnectionAddress.Type;
/** Full callable tool address: `<connectionAddress>.<tool>` =
 *  `tools.<integration>.<owner>.<connection>.<tool>`. */
export declare const ToolAddress: Schema.brand<Schema.String, "ToolAddress">;
export type ToolAddress = typeof ToolAddress.Type;
/** Final address segment — a tool's own name. */
export declare const ToolName: Schema.brand<Schema.String, "ToolName">;
export type ToolName = typeof ToolName.Type;
/** Correlation id for a URL elicitation callback. */
export declare const ElicitationId: Schema.brand<Schema.String, "ElicitationId">;
export type ElicitationId = typeof ElicitationId.Type;
/** A tool-policy rule id. */
export declare const PolicyId: Schema.brand<Schema.String, "PolicyId">;
export type PolicyId = typeof PolicyId.Type;
/**
 * The isolation partition (the org/workspace). Owns the catalog and namespaces
 * every connection. The executor is bound to one; `owner: "org"` files at this
 * level. Opaque to the SDK.
 */
export declare const Tenant: Schema.brand<Schema.String, "Tenant">;
export type Tenant = typeof Tenant.Type;
/** The acting member identity. Required for `owner: "user"` writes. Opaque. */
export declare const Subject: Schema.brand<Schema.String, "Subject">;
export type Subject = typeof Subject.Type;
/**
 * Who owns a connection: the org (tenant-shared, everyone uses it) or the acting
 * user (this subject's own). The `<owner>` segment of an address. Maps onto the
 * executor's tenant/subject binding; the SDK never interprets further.
 */
export declare const Owner: Schema.Literals<readonly ["org", "user"]>;
export type Owner = typeof Owner.Type;
//# sourceMappingURL=ids.d.ts.map