/**
 * Trellis Server — Public API Surface
 *
 * HTTP+WebSocket server, auth, permissions, multi-tenancy, and deployment.
 * Import from `trellis/server`:
 *
 *   import { startServer } from 'trellis/server';
 *
 * @module trellis/server
 */
export { startServer, startServerCrossRuntime } from './server.js';
export type { ServerConfig, TrellisHttpServer, PresenceRelayOptions, } from './server.js';
export { BlobStore } from '../vcs/blob-store.js';
export type { BlobMeta } from '../vcs/blob-store.js';
export { resolveAuth, signJwt, verifyJwt, buildOAuthUrl, exchangeOAuthCode, GOOGLE_PROVIDER, GITHUB_PROVIDER, ANONYMOUS, } from './auth.js';
export type { AuthContext, AuthConfig, OAuthProvider } from './auth.js';
export { PermissionRegistry, PermissionError, PUBLIC_READ, FULLY_PUBLIC, OWNER_ONLY, ADMIN_ONLY, } from './permissions.js';
export type { PermissionRule, PermissionsDef, CrudOp } from './permissions.js';
export { TenantPool, DEFAULT_TENANT, resolvePoolBackendFromEnv, } from './tenancy.js';
export { SubscriptionManager } from './realtime.js';
export type { Subscription as RealtimeSubscription, WsClient, } from './realtime.js';
export { UsageMeter, sampleTenantStorage, resolveUsageTenantId, verifyAdminKey, dayKey, } from './usage-meter.js';
export type { DayBucket, MeterName, TenantUsageSnapshot, } from './usage-meter.js';
export { attachRealtimeRelay, createRealtimeRelay, createBlobRequestHandler, BLOB_CORS, isBlobRequestClaimed, TRELLIS_BLOB_CLAIMED, } from '../realtime/relay-server.js';
export type { RealtimeRelay, RealtimeRelayOptions, StandaloneRealtimeRelay, StandaloneRealtimeRelayOptions, BlobRequestHandlerOptions, } from '../realtime/relay-server.js';
export { importFile, importRecords } from './import.js';
export type { ImportOptions, ImportResult } from './import.js';
export { deploy, generateServerEntrypoint } from './deploy.js';
export type { DeployOptions, DeployResult } from './deploy.js';
export { validateDeployName, normalizeDeployName, buildDeployUrl, SPRITE_PUBLIC_HTTP_PORT, DeployNameError, } from './deploy-meta.js';
export { runSpriteCmd, runSpriteCopy, runSpriteExec, runSpriteInteractive, assertSpriteCli, resolveSprite, parseSpriteUrlOutput, resolveSpritePublicUrl, ensureSpritePublicAccess, ensureSprite, SPRITE_ENSURE_BUN_SH, } from './sprites.js';
export { loadVmConfig, saveVmConfig, getActiveSprite, setActiveSprite, trackSprite, untrackSprite, isSpriteTracked, getSprite, VmConfig, } from './vm-config.js';
//# sourceMappingURL=index.d.ts.map