import { i as JuneDb, s as ResourceConfig } from "./resources-B1TnD77o.js"; import { i as CacheStoreFactory } from "./cache-BREWN8bj.js"; import { t as I18nConfig } from "./i18n-BXma5c0h.js"; //#region src/config.d.ts export type SiteConfig = { name?: string; shortName?: string; titleTemplate?: string; description?: string; icon?: string; lang?: string; url?: string; twitter?: string; themeColor?: string | { light: string; dark: string; }; organization?: SiteOrganization; jsonLd?: JsonLdNode | JsonLdNode[]; }; export type JsonLdNode = { "@type": string | string[]; } & Record; export type SiteOrganization = { name?: string; url?: string; logo?: string; email?: string; telephone?: string; sameAs?: string[]; address?: { streetAddress?: string; addressLocality?: string; addressRegion?: string; postalCode?: string; addressCountry?: string; }; }; export declare function siteShortName(site: Pick): string | undefined; export declare function deployOrigin(cfg: Pick): string | undefined; export type AgentRuntimeConfig = { enabled: boolean; dir: string; backend: "native" | "memory" | "durable"; chat: { path: string; }; channels: boolean; }; export type AgentConfig = { enabled: boolean; discovery: boolean; mcp: boolean; api: boolean; webmcp: boolean; allowedOrigins?: string[]; allowedHosts?: string[]; llms?: { framework?: string[]; sections?: string[]; whenToUse?: string[]; }; mcpServer?: { name?: string; title?: string; description?: string; version?: string; instructions?: string; }; runtime: AgentRuntimeConfig; }; export type SpeculationConfig = { prerender?: "moderate" | "conservative" | false; prefetch?: "moderate" | "conservative" | false; exclude?: string[]; delivery?: "inline" | "header"; }; export interface DataLayer { install(): void; readonly module: string; emitTypes?(db: JuneDb): Promise; } export interface ServicesConfig { make(env: any): unknown; readonly module: string; } export declare function defineServices(make: (env: any) => unknown, opts: { module: string; }): ServicesConfig; export type ContentSource = { /** Directory to scan, relative to the app root — may point outside it (e.g. "../docs"). */ dir: string; /** Collection the entries merge into (e.g. "docs" → the DOCS export in app/_content.ts). */ collection: string; /** Slug prefix inside the collection ("schema" → schema/). Default: none (collection root). */ mount?: string; }; export type JuneConfig = { agent?: AgentConfigInput; content?: { sources?: ContentSource[]; }; cache?: CacheStoreFactory; resources?: ResourceConfig; dataLayer?: DataLayer; services?: ServicesConfig; speculation?: SpeculationConfig | false; viewTransitions?: boolean | "instant" | number; cssReset?: boolean; clientRouter?: boolean | "morph" | "flight"; earlyHints?: string[]; site?: SiteConfig; i18n?: I18nConfig; build?: { external?: string[]; }; deploy?: { target?: "workers" | "vercel" | "deno" | "static"; name?: string; domain?: string; adapter?: unknown; }; basePath?: string; }; export type AgentConfigInput = Partial> & { runtime?: Partial> & { chat?: Partial; }; }; export declare function defineJune(config: JuneConfig): JuneConfig; export declare const MCP_SERVER_NAME: RegExp; export declare const MCP_SERVER_NAME_SEGMENT: RegExp; export declare const MCP_CARD_TEXT_MAX = 100; export declare function validateMcpServer(server: AgentConfig["mcpServer"]): void; export declare function resolveAgent(partial?: AgentConfigInput): AgentConfig; export type RouterMode = "off" | "morph" | "flight"; export declare function resolveClientRouter(value: JuneConfig["clientRouter"]): RouterMode; export declare function resolveSpeculationRules(config?: SpeculationConfig | false): string | null; //#endregion