import { Hono } from "hono";
import { type ProjectConfig } from "zqy-novel-core";
import { AuthRuntime } from "./auth.js";
import { TenantRuntime } from "./tenant.js";
import { StudioJobQueue } from "./job-queue.js";
import { StudioQuotaRuntime } from "./quota.js";
import { MemoryRateLimiter } from "./rate-limit.js";
export interface StudioServerOptions {
    readonly authRuntime?: AuthRuntime;
    readonly tenantRuntime?: TenantRuntime;
    readonly jobQueue?: StudioJobQueue;
    readonly quotaRuntime?: StudioQuotaRuntime;
    readonly rateLimiter?: MemoryRateLimiter;
    readonly platformRoot?: string;
    readonly platformConfigRoot?: string;
    readonly dataRoot?: string;
    readonly allowedOrigins?: readonly string[];
}
export declare function createStudioServer(initialConfig: ProjectConfig, root: string, options?: StudioServerOptions): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
export declare function startStudioServer(root: string, port?: number, options?: {
    readonly staticDir?: string;
}): Promise<void>;
//# sourceMappingURL=server.d.ts.map