/**
 * Sandbox API Infrastructure
 *
 * Exports the handle and handleStream functions for use in Hono routes.
 *
 * @example
 * ```ts
 * // In route setup
 * import { currencies } from '@playcademy/api-core/controllers'
 * import { handle } from '../infrastructure/api'
 *
 * router.get('/currencies', handle(currencies.list))
 * router.post('/currencies', handle(currencies.create, { status: 201 }))
 * ```
 */
import { createHandlers } from '@playcademy/api-hono';
/**
 * Wrap a controller function into a Hono request handler.
 *
 * IMPORTANT: This returns a function that looks up handlers at REQUEST time,
 * not at route registration time. This is critical because route modules are
 * cached by the module system, but we need each sandbox to use its own handlers.
 *
 * @example
 * ```ts
 * import { currencies } from '@playcademy/api-core/controllers'
 * import { handle } from '../infrastructure/api'
 *
 * router.get('/currencies', handle(currencies.list))
 * router.post('/currencies', handle(currencies.create, { status: 201 }))
 * ```
 */
export declare function handle(...args: Parameters<ReturnType<typeof createHandlers>[0]>): ReturnType<ReturnType<typeof createHandlers>[0]>;
/**
 * Wrap a streaming controller function into a Hono request handler.
 *
 * IMPORTANT: This returns a function that looks up handlers at REQUEST time,
 * not at route registration time. This is critical because route modules are
 * cached by the module system, but we need each sandbox to use its own handlers.
 *
 * @example
 * ```ts
 * import { deploy } from '@playcademy/api-core/controllers'
 * import { handleStream } from '../infrastructure/api'
 *
 * router.post('/games/:slug/seed', handleStream(seed.seed))
 * ```
 */
export declare function handleStream(...args: Parameters<ReturnType<typeof createHandlers>[1]>): ReturnType<ReturnType<typeof createHandlers>[1]>;
/**
 * Reset the handlers (for testing or hot reload).
 */
export declare function resetHandlers(): void;
export { createSandboxContext, getSandboxContext, resetSandboxContext } from './context';
