/** * Next.js Adapter * * Next.js API route handlers for UI Bridge server. */ interface NextRequest extends Request { nextUrl: URL; } import type { UIBridgeServerConfig, UIBridgeServerHandlers } from './types'; /** * Next.js specific configuration */ export interface NextJSAdapterConfig extends UIBridgeServerConfig { /** Runtime for edge/serverless */ runtime?: 'edge' | 'nodejs'; } /** * Route handler factory for Next.js App Router */ export type NextRouteHandler = (request: NextRequest, context: { params: Record; }) => Promise; /** * Create Next.js route handlers for UI Bridge * * Use this to create route handlers for the App Router. * * @example * ```ts * // app/api/ui-bridge/[...path]/route.ts * import { createNextRouteHandlers } from 'ui-bridge-server/nextjs'; * import { handlers } from '@/lib/ui-bridge'; * * export const { GET, POST, DELETE } = createNextRouteHandlers(handlers); * ``` */ export declare function createNextRouteHandlers(handlers: UIBridgeServerHandlers, config?: NextJSAdapterConfig): { GET: NextRouteHandler; POST: NextRouteHandler; DELETE: NextRouteHandler; }; /** * Individual route handler creators for more granular control */ export declare function createRenderLogHandlers(handlers: UIBridgeServerHandlers): { GET(request: NextRequest): Promise; DELETE(): Promise; }; export declare function createControlHandlers(handlers: UIBridgeServerHandlers): { elements: { GET(): Promise; }; element: { GET(_request: NextRequest, context: { params: { id: string; }; }): Promise; POST(request: NextRequest, context: { params: { id: string; }; }): Promise; }; components: { GET(): Promise; }; component: { GET(_request: NextRequest, context: { params: { id: string; }; }): Promise; POST(request: NextRequest, context: { params: { id: string; actionId: string; }; }): Promise; }; find: { POST(request: NextRequest): Promise; }; discover: { /** * @deprecated Use /control/find instead */ POST(request: NextRequest): Promise; }; snapshot: { GET(): Promise; }; workflows: { GET(): Promise; }; workflow: { POST(request: NextRequest, context: { params: { id: string; }; }): Promise; }; }; export declare function createDebugHandlers(handlers: UIBridgeServerHandlers): { actionHistory: { GET(request: NextRequest): Promise; }; metrics: { GET(): Promise; }; highlight: { POST(_request: NextRequest, context: { params: { id: string; }; }): Promise; }; }; /** * Zero-config convenience wrapper for Next.js App Router. * * Creates a single route handler with server-safe stub implementations. * Read operations return empty data; write operations return errors. * * For full control API access (live snapshots, element actions, AI search), * use the runtime injection proxy or implement a custom client-server relay. * * @example * ```ts * // app/api/ui-bridge/[...path]/route.ts * import { createUIBridgeHandler } from '@qontinui/ui-bridge-server/nextjs'; * * const handler = createUIBridgeHandler(); * * export const GET = handler; * export const POST = handler; * export const DELETE = handler; * ``` */ export declare function createUIBridgeHandler(config?: NextJSAdapterConfig): NextRouteHandler; export {}; //# sourceMappingURL=nextjs.d.ts.map