export declare const COMPANY_STATUSES: readonly ["active", "paused", "archived"];
export type CompanyStatus = (typeof COMPANY_STATUSES)[number];
export declare const DEPLOYMENT_MODES: readonly ["local_trusted", "authenticated"];
export type DeploymentMode = (typeof DEPLOYMENT_MODES)[number];
export declare const DEPLOYMENT_EXPOSURES: readonly ["private", "public"];
export type DeploymentExposure = (typeof DEPLOYMENT_EXPOSURES)[number];
export declare const AUTH_BASE_URL_MODES: readonly ["auto", "explicit"];
export type AuthBaseUrlMode = (typeof AUTH_BASE_URL_MODES)[number];
export declare const AGENT_STATUSES: readonly ["active", "paused", "idle", "running", "error", "pending_approval", "terminated"];
export type AgentStatus = (typeof AGENT_STATUSES)[number];
export declare const AGENT_ADAPTER_TYPES: readonly ["process", "http", "claude_local", "codex_local", "opencode_local", "pi_local", "cursor", "openclaw_gateway", "hermes_local"];
export type AgentAdapterType = (typeof AGENT_ADAPTER_TYPES)[number];
export declare const AGENT_ROLES: readonly ["ceo", "cto", "cmo", "cfo", "engineer", "designer", "pm", "qa", "devops", "researcher", "general"];
export type AgentRole = (typeof AGENT_ROLES)[number];
export declare const AGENT_ROLE_LABELS: Record<AgentRole, string>;
export declare const AGENT_ICON_NAMES: readonly ["bot", "cpu", "brain", "zap", "rocket", "code", "terminal", "shield", "eye", "search", "wrench", "hammer", "lightbulb", "sparkles", "star", "heart", "flame", "bug", "cog", "database", "globe", "lock", "mail", "message-square", "file-code", "git-branch", "package", "puzzle", "target", "wand", "atom", "circuit-board", "radar", "swords", "telescope", "microscope", "crown", "gem", "hexagon", "pentagon", "fingerprint"];
export type AgentIconName = (typeof AGENT_ICON_NAMES)[number];
export declare const ISSUE_STATUSES: readonly ["backlog", "todo", "in_progress", "in_review", "done", "blocked", "cancelled"];
export type IssueStatus = (typeof ISSUE_STATUSES)[number];
export declare const ISSUE_PRIORITIES: readonly ["critical", "high", "medium", "low"];
export type IssuePriority = (typeof ISSUE_PRIORITIES)[number];
export declare const ISSUE_ORIGIN_KINDS: readonly ["manual", "routine_execution"];
export type IssueOriginKind = (typeof ISSUE_ORIGIN_KINDS)[number];
export declare const GOAL_LEVELS: readonly ["company", "team", "agent", "task"];
export type GoalLevel = (typeof GOAL_LEVELS)[number];
export declare const GOAL_STATUSES: readonly ["planned", "active", "achieved", "cancelled"];
export type GoalStatus = (typeof GOAL_STATUSES)[number];
export declare const PROJECT_STATUSES: readonly ["backlog", "planned", "in_progress", "completed", "cancelled"];
export type ProjectStatus = (typeof PROJECT_STATUSES)[number];
export declare const ROUTINE_STATUSES: readonly ["active", "paused", "archived"];
export type RoutineStatus = (typeof ROUTINE_STATUSES)[number];
export declare const ROUTINE_CONCURRENCY_POLICIES: readonly ["coalesce_if_active", "always_enqueue", "skip_if_active"];
export type RoutineConcurrencyPolicy = (typeof ROUTINE_CONCURRENCY_POLICIES)[number];
export declare const ROUTINE_CATCH_UP_POLICIES: readonly ["skip_missed", "enqueue_missed_with_cap"];
export type RoutineCatchUpPolicy = (typeof ROUTINE_CATCH_UP_POLICIES)[number];
export declare const ROUTINE_TRIGGER_KINDS: readonly ["schedule", "webhook", "api"];
export type RoutineTriggerKind = (typeof ROUTINE_TRIGGER_KINDS)[number];
export declare const ROUTINE_TRIGGER_SIGNING_MODES: readonly ["bearer", "hmac_sha256"];
export type RoutineTriggerSigningMode = (typeof ROUTINE_TRIGGER_SIGNING_MODES)[number];
export declare const ROUTINE_RUN_STATUSES: readonly ["received", "coalesced", "skipped", "issue_created", "completed", "failed"];
export type RoutineRunStatus = (typeof ROUTINE_RUN_STATUSES)[number];
export declare const ROUTINE_RUN_SOURCES: readonly ["schedule", "manual", "api", "webhook"];
export type RoutineRunSource = (typeof ROUTINE_RUN_SOURCES)[number];
export declare const PAUSE_REASONS: readonly ["manual", "budget", "system"];
export type PauseReason = (typeof PAUSE_REASONS)[number];
export declare const PROJECT_COLORS: readonly ["#6366f1", "#8b5cf6", "#ec4899", "#ef4444", "#f97316", "#eab308", "#22c55e", "#14b8a6", "#06b6d4", "#3b82f6"];
export declare const APPROVAL_TYPES: readonly ["hire_agent", "approve_ceo_strategy", "budget_override_required"];
export type ApprovalType = (typeof APPROVAL_TYPES)[number];
export declare const APPROVAL_STATUSES: readonly ["pending", "revision_requested", "approved", "rejected", "cancelled"];
export type ApprovalStatus = (typeof APPROVAL_STATUSES)[number];
export declare const SECRET_PROVIDERS: readonly ["local_encrypted", "aws_secrets_manager", "gcp_secret_manager", "vault"];
export type SecretProvider = (typeof SECRET_PROVIDERS)[number];
export declare const STORAGE_PROVIDERS: readonly ["local_disk", "s3"];
export type StorageProvider = (typeof STORAGE_PROVIDERS)[number];
export declare const BILLING_TYPES: readonly ["metered_api", "subscription_included", "subscription_overage", "credits", "fixed", "unknown"];
export type BillingType = (typeof BILLING_TYPES)[number];
export declare const FINANCE_EVENT_KINDS: readonly ["inference_charge", "platform_fee", "credit_purchase", "credit_refund", "credit_expiry", "byok_fee", "gateway_overhead", "log_storage_charge", "logpush_charge", "provisioned_capacity_charge", "training_charge", "custom_model_import_charge", "custom_model_storage_charge", "manual_adjustment"];
export type FinanceEventKind = (typeof FINANCE_EVENT_KINDS)[number];
export declare const FINANCE_DIRECTIONS: readonly ["debit", "credit"];
export type FinanceDirection = (typeof FINANCE_DIRECTIONS)[number];
export declare const FINANCE_UNITS: readonly ["input_token", "output_token", "cached_input_token", "request", "credit_usd", "credit_unit", "model_unit_minute", "model_unit_hour", "gb_month", "train_token", "unknown"];
export type FinanceUnit = (typeof FINANCE_UNITS)[number];
export declare const BUDGET_SCOPE_TYPES: readonly ["company", "agent", "project"];
export type BudgetScopeType = (typeof BUDGET_SCOPE_TYPES)[number];
export declare const BUDGET_METRICS: readonly ["billed_cents"];
export type BudgetMetric = (typeof BUDGET_METRICS)[number];
export declare const BUDGET_WINDOW_KINDS: readonly ["calendar_month_utc", "lifetime"];
export type BudgetWindowKind = (typeof BUDGET_WINDOW_KINDS)[number];
export declare const BUDGET_THRESHOLD_TYPES: readonly ["soft", "hard"];
export type BudgetThresholdType = (typeof BUDGET_THRESHOLD_TYPES)[number];
export declare const BUDGET_INCIDENT_STATUSES: readonly ["open", "resolved", "dismissed"];
export type BudgetIncidentStatus = (typeof BUDGET_INCIDENT_STATUSES)[number];
export declare const BUDGET_INCIDENT_RESOLUTION_ACTIONS: readonly ["keep_paused", "raise_budget_and_resume"];
export type BudgetIncidentResolutionAction = (typeof BUDGET_INCIDENT_RESOLUTION_ACTIONS)[number];
export declare const HEARTBEAT_INVOCATION_SOURCES: readonly ["timer", "assignment", "on_demand", "automation"];
export type HeartbeatInvocationSource = (typeof HEARTBEAT_INVOCATION_SOURCES)[number];
export declare const WAKEUP_TRIGGER_DETAILS: readonly ["manual", "ping", "callback", "system"];
export type WakeupTriggerDetail = (typeof WAKEUP_TRIGGER_DETAILS)[number];
export declare const WAKEUP_REQUEST_STATUSES: readonly ["queued", "deferred_issue_execution", "claimed", "coalesced", "skipped", "completed", "failed", "cancelled"];
export type WakeupRequestStatus = (typeof WAKEUP_REQUEST_STATUSES)[number];
export declare const HEARTBEAT_RUN_STATUSES: readonly ["queued", "running", "succeeded", "failed", "cancelled", "timed_out"];
export type HeartbeatRunStatus = (typeof HEARTBEAT_RUN_STATUSES)[number];
export declare const LIVE_EVENT_TYPES: readonly ["heartbeat.run.queued", "heartbeat.run.status", "heartbeat.run.event", "heartbeat.run.log", "agent.status", "activity.logged", "plugin.ui.updated", "plugin.worker.crashed", "plugin.worker.restarted"];
export type LiveEventType = (typeof LIVE_EVENT_TYPES)[number];
export declare const PRINCIPAL_TYPES: readonly ["user", "agent"];
export type PrincipalType = (typeof PRINCIPAL_TYPES)[number];
export declare const MEMBERSHIP_STATUSES: readonly ["pending", "active", "suspended"];
export type MembershipStatus = (typeof MEMBERSHIP_STATUSES)[number];
export declare const INSTANCE_USER_ROLES: readonly ["instance_admin"];
export type InstanceUserRole = (typeof INSTANCE_USER_ROLES)[number];
export declare const INVITE_TYPES: readonly ["company_join", "bootstrap_ceo"];
export type InviteType = (typeof INVITE_TYPES)[number];
export declare const INVITE_JOIN_TYPES: readonly ["human", "agent", "both"];
export type InviteJoinType = (typeof INVITE_JOIN_TYPES)[number];
export declare const JOIN_REQUEST_TYPES: readonly ["human", "agent"];
export type JoinRequestType = (typeof JOIN_REQUEST_TYPES)[number];
export declare const JOIN_REQUEST_STATUSES: readonly ["pending_approval", "approved", "rejected"];
export type JoinRequestStatus = (typeof JOIN_REQUEST_STATUSES)[number];
export declare const PERMISSION_KEYS: readonly ["agents:create", "users:invite", "users:manage_permissions", "tasks:assign", "tasks:assign_scope", "joins:approve"];
export type PermissionKey = (typeof PERMISSION_KEYS)[number];
/**
 * The current version of the Plugin API contract.
 *
 * Increment this value whenever a breaking change is made to the plugin API
 * so that the host can reject incompatible plugin manifests.
 *
 * @see PLUGIN_SPEC.md §4 — Versioning
 */
export declare const PLUGIN_API_VERSION: 1;
/**
 * Lifecycle statuses for an installed plugin.
 *
 * State machine: installed → ready | error, ready → disabled | error | upgrade_pending | uninstalled,
 * disabled → ready | uninstalled, error → ready | uninstalled,
 * upgrade_pending → ready | error | uninstalled, uninstalled → installed (reinstall).
 *
 * @see {@link PluginStatus} — inferred union type
 * @see PLUGIN_SPEC.md §21.3 `plugins.status`
 */
export declare const PLUGIN_STATUSES: readonly ["installed", "ready", "disabled", "error", "upgrade_pending", "uninstalled"];
export type PluginStatus = (typeof PLUGIN_STATUSES)[number];
/**
 * Plugin classification categories. A plugin declares one or more categories
 * in its manifest to describe its primary purpose.
 *
 * @see PLUGIN_SPEC.md §6.2
 */
export declare const PLUGIN_CATEGORIES: readonly ["connector", "workspace", "automation", "ui"];
export type PluginCategory = (typeof PLUGIN_CATEGORIES)[number];
/**
 * Named permissions the host grants to a plugin. Plugins declare required
 * capabilities in their manifest; the host enforces them at runtime via the
 * plugin capability validator.
 *
 * Grouped into: Data Read, Data Write, Plugin State, Runtime/Integration,
 * Agent Tools, and UI.
 *
 * @see PLUGIN_SPEC.md §15 — Capability Model
 */
export declare const PLUGIN_CAPABILITIES: readonly ["companies.read", "projects.read", "project.workspaces.read", "issues.read", "issue.comments.read", "issue.documents.read", "agents.read", "goals.read", "goals.create", "goals.update", "activity.read", "costs.read", "issues.create", "issues.update", "issue.comments.create", "issue.documents.write", "agents.pause", "agents.resume", "agents.invoke", "agent.sessions.create", "agent.sessions.list", "agent.sessions.send", "agent.sessions.close", "activity.log.write", "metrics.write", "plugin.state.read", "plugin.state.write", "events.subscribe", "events.emit", "jobs.schedule", "webhooks.receive", "http.outbound", "secrets.read-ref", "agent.tools.register", "instance.settings.register", "ui.sidebar.register", "ui.page.register", "ui.detailTab.register", "ui.dashboardWidget.register", "ui.commentAnnotation.register", "ui.action.register"];
export type PluginCapability = (typeof PLUGIN_CAPABILITIES)[number];
/**
 * UI extension slot types. Each slot type corresponds to a mount point in the
 * Paperclip UI where plugin components can be rendered.
 *
 * @see PLUGIN_SPEC.md §19 — UI Extension Model
 */
export declare const PLUGIN_UI_SLOT_TYPES: readonly ["page", "detailTab", "taskDetailView", "dashboardWidget", "sidebar", "sidebarPanel", "projectSidebarItem", "globalToolbarButton", "toolbarButton", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "settingsPage"];
export type PluginUiSlotType = (typeof PLUGIN_UI_SLOT_TYPES)[number];
/**
 * Reserved company-scoped route segments that plugin page routes may not claim.
 *
 * These map to first-class host pages under `/:companyPrefix/...`.
 */
export declare const PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS: readonly ["dashboard", "onboarding", "companies", "company", "settings", "plugins", "org", "agents", "projects", "issues", "goals", "approvals", "costs", "activity", "inbox", "design-guide", "tests"];
export type PluginReservedCompanyRouteSegment = (typeof PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS)[number];
/**
 * Launcher placement zones describe where a plugin-owned launcher can appear
 * in the host UI. These are intentionally aligned with current slot surfaces
 * so manifest authors can describe launch intent without coupling to a single
 * component implementation detail.
 */
export declare const PLUGIN_LAUNCHER_PLACEMENT_ZONES: readonly ["page", "detailTab", "taskDetailView", "dashboardWidget", "sidebar", "sidebarPanel", "projectSidebarItem", "globalToolbarButton", "toolbarButton", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "settingsPage"];
export type PluginLauncherPlacementZone = (typeof PLUGIN_LAUNCHER_PLACEMENT_ZONES)[number];
/**
 * Launcher action kinds describe what the launcher does when activated.
 */
export declare const PLUGIN_LAUNCHER_ACTIONS: readonly ["navigate", "openModal", "openDrawer", "openPopover", "performAction", "deepLink"];
export type PluginLauncherAction = (typeof PLUGIN_LAUNCHER_ACTIONS)[number];
/**
 * Optional size hints the host can use when rendering plugin-owned launcher
 * destinations such as overlays, drawers, or full page handoffs.
 */
export declare const PLUGIN_LAUNCHER_BOUNDS: readonly ["inline", "compact", "default", "wide", "full"];
export type PluginLauncherBounds = (typeof PLUGIN_LAUNCHER_BOUNDS)[number];
/**
 * Render environments describe the container a launcher expects after it is
 * activated. The current host may map these to concrete UI primitives.
 */
export declare const PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS: readonly ["hostInline", "hostOverlay", "hostRoute", "external", "iframe"];
export type PluginLauncherRenderEnvironment = (typeof PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS)[number];
/**
 * Entity types that a `detailTab` UI slot can attach to.
 *
 * @see PLUGIN_SPEC.md §19.3 — Detail Tabs
 */
export declare const PLUGIN_UI_SLOT_ENTITY_TYPES: readonly ["project", "issue", "agent", "goal", "run", "comment"];
export type PluginUiSlotEntityType = (typeof PLUGIN_UI_SLOT_ENTITY_TYPES)[number];
/**
 * Scope kinds for plugin state storage. Determines the granularity at which
 * a plugin stores key-value state data.
 *
 * @see PLUGIN_SPEC.md §21.3 `plugin_state.scope_kind`
 */
export declare const PLUGIN_STATE_SCOPE_KINDS: readonly ["instance", "company", "project", "project_workspace", "agent", "issue", "goal", "run"];
export type PluginStateScopeKind = (typeof PLUGIN_STATE_SCOPE_KINDS)[number];
/** Statuses for a plugin's scheduled job definition. */
export declare const PLUGIN_JOB_STATUSES: readonly ["active", "paused", "failed"];
export type PluginJobStatus = (typeof PLUGIN_JOB_STATUSES)[number];
/** Statuses for individual job run executions. */
export declare const PLUGIN_JOB_RUN_STATUSES: readonly ["pending", "queued", "running", "succeeded", "failed", "cancelled"];
export type PluginJobRunStatus = (typeof PLUGIN_JOB_RUN_STATUSES)[number];
/** What triggered a particular job run. */
export declare const PLUGIN_JOB_RUN_TRIGGERS: readonly ["schedule", "manual", "retry"];
export type PluginJobRunTrigger = (typeof PLUGIN_JOB_RUN_TRIGGERS)[number];
/** Statuses for inbound webhook deliveries. */
export declare const PLUGIN_WEBHOOK_DELIVERY_STATUSES: readonly ["pending", "success", "failed"];
export type PluginWebhookDeliveryStatus = (typeof PLUGIN_WEBHOOK_DELIVERY_STATUSES)[number];
/**
 * Core domain event types that plugins can subscribe to via the
 * `events.subscribe` capability.
 *
 * @see PLUGIN_SPEC.md §16 — Event System
 */
export declare const PLUGIN_EVENT_TYPES: readonly ["company.created", "company.updated", "project.created", "project.updated", "project.workspace_created", "project.workspace_updated", "project.workspace_deleted", "issue.created", "issue.updated", "issue.comment.created", "agent.created", "agent.updated", "agent.status_changed", "agent.run.started", "agent.run.finished", "agent.run.failed", "agent.run.cancelled", "goal.created", "goal.updated", "approval.created", "approval.decided", "cost_event.created", "activity.logged"];
export type PluginEventType = (typeof PLUGIN_EVENT_TYPES)[number];
/**
 * Error codes returned by the plugin bridge when a UI → worker call fails.
 *
 * @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge
 */
export declare const PLUGIN_BRIDGE_ERROR_CODES: readonly ["WORKER_UNAVAILABLE", "CAPABILITY_DENIED", "WORKER_ERROR", "TIMEOUT", "UNKNOWN"];
export type PluginBridgeErrorCode = (typeof PLUGIN_BRIDGE_ERROR_CODES)[number];
//# sourceMappingURL=constants.d.ts.map