/** Dashboard preset definitions injected into the browser shell. */
interface DashboardPreset extends Record<string, unknown> {
    id: string;
    name: string;
    desc: string;
    prompt: string;
    cat: string;
}
/** Cached asset bytes plus stable HTTP metadata derived from the source file stats. */
interface CachedDashboardAsset {
    content: Buffer;
    etag: string;
    sourcePath: string;
    mtimeMs: number;
    size: number;
}
/**
 * Replace `<!-- include: path -->` markers with fragment file contents.
 * Uses a recover fallback for missing fragments by embedding an HTML error comment so the
 * dashboard shell still loads and the broken include is visible in source.
 *
 * @param shellPath - dashboard shell HTML file to assemble
 * @returns assembled dashboard HTML with one-level includes expanded
 */
export declare function assembleDashboardHtml(shellPath: string): string;
/**
 * Read the dashboard preset definitions shipped with the frontend bundle.
 * Throws when the JSON schema is not the expected preset array.
 *
 * @returns validated preset prompt definitions
 */
export declare function loadDashboardPresets(): DashboardPreset[];
/**
 * Read one bundled dashboard asset through a small mtime/size-aware memory cache.
 *
 * @param filename - dashboard asset filename relative to the bundled asset root
 * @returns asset bytes and cache metadata for HTTP responses
 */
export declare function loadDashboardAssetCached(filename: string): CachedDashboardAsset;
export {};
//# sourceMappingURL=dashboard-assets.d.ts.map