import { Railiz } from 'railiz'; import type { MaybePromise, RpcPlugin } from '../core'; export type CreateAppOptions = { app?: Railiz; rpc?: any; prefix?: string; version?: string; createContext?: (context: any) => MaybePromise; plugins?: ((app: Railiz) => void)[]; rpcPlugins?: RpcPlugin[]; setup?: (app: Railiz) => void; dev?: boolean; health?: boolean; openapi?: boolean | { path?: string; }; logger?: boolean; onError?: (err: any, context: Context) => any; beforeRequest?: (context: Context) => MaybePromise; afterResponse?: (context: Context, result: any) => MaybePromise; cache?: { enabled?: boolean; ttl?: number; staleWhileRevalidate?: number; condition?: (args: { path: string; context: Context; input: any; }) => boolean; key?: (args: { path: string; context: Context; input: any; }) => any; }; }; export declare function createApp(options: CreateAppOptions): Railiz;