/** * Elysia Adapter for binja * Seamless integration with Elysia framework * * @example * ```typescript * import { Elysia } from 'elysia' * import { binja } from 'binja/elysia' * * const app = new Elysia() * .use(binja({ root: './views' })) * .get('/', ({ render }) => render('index', { title: 'Home' })) * .listen(3000) * ``` */ import type { Elysia } from 'elysia'; export interface BinjaElysiaOptions { /** Root directory for templates (default: './views') */ root?: string; /** Default file extension (default: '.html') */ extension?: string; /** Template engine: 'jinja2' | 'handlebars' | 'liquid' | 'twig' (default: 'jinja2') */ engine?: 'jinja2' | 'handlebars' | 'liquid' | 'twig'; /** Enable debug panel (default: false) */ debug?: boolean; /** Cache compiled templates (default: true in production) */ cache?: boolean; /** Global context data available in all templates */ globals?: Record; /** Layout template name (optional) */ layout?: string; /** Content variable name in layout (default: 'content') */ contentVar?: string; } /** * Create binja plugin for Elysia */ export declare function binja(options?: BinjaElysiaOptions): (app: Elysia) => Elysia<"", { decorator: {}; store: {}; derive: {}; resolve: {}; }, { typebox: {}; error: {}; }, { schema: {}; standaloneSchema: {}; macro: {}; macroFn: {}; parser: {}; response: {}; }, {}, { derive: {}; resolve: {}; schema: {}; standaloneSchema: {}; response: {}; }, { derive: { readonly render: (template: string, context?: Record) => Promise; }; resolve: {}; schema: {}; standaloneSchema: {}; response: import("elysia").ExtractErrorFromHandle<{ readonly render: (template: string, context?: Record) => Promise; }>; }>; /** * Clear template cache */ export declare function clearCache(): void; /** * Get cache stats */ export declare function getCacheStats(): { size: number; keys: string[]; }; export default binja; //# sourceMappingURL=elysia.d.ts.map