/**
 * @license
 * Copyright 2026 Amodal Labs, Inc.
 * SPDX-License-Identifier: MIT
 */
/**
 * Studio's Hono app factory + library entry. **Importing this module has
 * no side effects** — it just exposes `createStudioApp` and the named
 * hooks for embedders (cloud-studio, custom deployments, tests).
 *
 * The local-dev runner that binds a port + opens the PG LISTEN bridge
 * lives separately in `./bin.ts` so that nothing happens at import time.
 */
import { Hono } from "hono";
export { setAuthProvider, getUser } from "../lib/auth.js";
export type { StudioAuth } from "../lib/auth.js";
export { setStudioCapabilityResolver } from "../lib/capabilities.js";
export type { StudioCapabilityResolver } from "../lib/capabilities.js";
export { setBackendFactory, getBackend, resetBackend } from "../lib/startup.js";
export type { BackendFactory } from "../lib/startup.js";
export type { StudioBackend } from "../lib/backend.js";
export { DrizzleStudioBackend } from "../lib/drizzle-backend.js";
export type { DrizzleStudioBackendOptions } from "../lib/drizzle-backend.js";
export { StudioError, StudioPublishError, StudioStorageError, StudioPathError, StudioFeatureUnavailableError, } from "../lib/errors.js";
export type { StudioUser, DraftFile, PublishResult, PreviewResult, WorkspaceFile, WorkspaceBundle, BatchChange, BatchChangeAction, BatchRequest, BatchResponse, } from "../lib/types.js";
export type { StudioDeploy, StudioDeployListResponse, ChangeProposal, } from "../lib/types.js";
export { logger } from "../lib/logger.js";
export { setRuntimeResolver } from "../lib/runtime-client.js";
export type { RuntimeResolver, ResolvedRuntime, } from "../lib/runtime-client.js";
export { classifyStudioRuntimePath, normalizeStudioRuntimePath, runtimeBoundaryUsesSelectedDeploy, runtimePathUsesSelectedDeploy, studioRuntimeProxyPath, } from "../lib/runtime-route-boundaries.js";
export type { StudioRuntimeRouteBoundary } from "../lib/runtime-route-boundaries.js";
export { setPreviewHandler } from "./routes/preview.js";
export type { PreviewHandler } from "./routes/preview.js";
export { setStudioDbProvider } from "../lib/db.js";
export { disableEventBridge } from "../lib/event-bridge.js";
export { getDeployBackend, setDeployBackend } from "../lib/deploy-backend.js";
export type { DeployBackend } from "../lib/deploy-backend.js";
export { getChangeProposalBackend, setChangeProposalBackend, } from "../lib/change-proposal-backend.js";
export type { ChangeProposalBackend, CreateChangeProposalInput, CommitProposalChangesInput, DeploySourceInput, } from "../lib/change-proposal-backend.js";
export { getActivityBackend, setActivityBackend, } from "../lib/activity-backend.js";
export type { ActivityBackend, ActivityLogRecord, ActivityListResponse, ActivityLogInput, } from "../lib/activity-backend.js";
export { getGeneralSettingsBackend, setGeneralSettingsBackend, } from "../lib/general-settings-backend.js";
export type { GeneralSettings, GeneralSettingsBackend, GeneralSettingsUpdate, } from "../lib/general-settings-backend.js";
export { getSourceSettingsBackend, setSourceSettingsBackend, } from "../lib/source-settings-backend.js";
export type { SourceConnectInput, SourceSettingsBackend, SourceSettingsOperation, } from "../lib/source-settings-backend.js";
export type { SourceSettings, SourceConnectionStatus, SourceGitStatus, SourceRefInfo, SourceRepository, SourceSettingsResponse, } from "../lib/source-settings-shape.js";
export { getDomainsBackend, setDomainsBackend, } from "../lib/domains-backend.js";
export type { DomainsBackend } from "../lib/domains-backend.js";
export type { ApprovedDomain, CustomDomain, CustomDomainCapabilities, CustomDomainOperationResponse, CustomDomainOperationResult, DomainsSettings, DomainsSettingsResponse, } from "../lib/domains-shape.js";
export { getApiKeysBackend, setApiKeysBackend, } from "../lib/api-keys-backend.js";
export type { ApiKeysBackend, StudioApiKeysCreateInput, } from "../lib/api-keys-backend.js";
export type { StudioApiKey, StudioApiKeysCreateResponse, StudioApiKeysDeleteResponse, StudioApiKeysListResponse, } from "../lib/api-keys-shape.js";
export { getTeamBackend, setTeamBackend, } from "../lib/team-backend.js";
export type { TeamAccessSettings, TeamBackend, TeamInviteInput, TeamMember, TeamMemberRole, TeamMemberUpdateInput, } from "../lib/team-backend.js";
export { getSecretsBackend, setSecretsBackend, validateSecretName, } from "../lib/secrets-backend.js";
export type { ListSecretsOptions, SecretOrigin, SecretsBackend, SecretValueResult, StudioSecret, } from "../lib/secrets-backend.js";
export { getAutomationsBackend, setAutomationsBackend, } from "../lib/automations-backend.js";
export type { AutomationsBackend, StudioAutomation, StudioAutomationDetailResponse, StudioAutomationMutationResponse, StudioAutomationOperations, StudioAutomationRun, StudioAutomationRunInput, StudioAutomationsListResponse, StudioAutomationUpsertInput, } from "../lib/automations-backend.js";
export interface CreateStudioAppOptions {
    /** Whether to serve the Vite SPA static files. Defaults to true. */
    serveStaticFiles?: boolean;
}
/**
 * Create the Studio Hono app with all middleware and routes mounted.
 * Does NOT start a server — the caller is responsible for that.
 *
 * Used by:
 * - The bin runner in `./bin.ts` for local dev (`amodal studio` / `amodal dev`)
 * - Cloud deployments that need the Hono app as a serverless handler
 */
export declare function createStudioApp(options?: CreateStudioAppOptions): Hono;
