/**
 * UI Bridge Native Server Handlers
 *
 * Request handlers for the HTTP API endpoints.
 */
import { type NativeUIBridgeRegistry } from '../core/registry';
import type { NativeActionExecutor } from '../control/types';
import type { NativeServerHandlers } from './types';
import type { ConsoleErrorBuffer, NetworkRequestBuffer } from './observability';
/**
 * Create server handlers
 */
export declare function createServerHandlers(registry: NativeUIBridgeRegistry, executor: NativeActionExecutor, config?: {
    appInfo?: {
        appId: string;
        appName: string;
        appType: string;
        framework?: string;
    };
    /** Optional console-error ring buffer powering `GET /control/console-errors`. */
    consoleErrorBuffer?: ConsoleErrorBuffer;
    /** Optional network-request ring buffer powering `GET /sdk/network-requests`. */
    networkRequestBuffer?: NetworkRequestBuffer;
    /**
     * Optional viewport getter for `POST /control/page-health`. Injected by
     * `UIBridgeNativeProvider` from `Dimensions.get('window')`. Kept out of
     * `handlers.ts` so this file has no `react-native` dep at all — the
     * `require('react-native')` pattern crashed the host in 0.6.3/0.6.4
     * (Metro/Hermes can't statically resolve the require even with a
     * `try/catch`; the `unknownModuleError` escapes and tears down the JS
     * thread). When absent (e.g. tests, or a custom host that doesn't pass
     * one), `getPageHealth` falls back to `body.viewport` then `{0,0}`.
     */
    viewportProvider?: () => {
        width: number;
        height: number;
    };
}): NativeServerHandlers;
//# sourceMappingURL=handlers.d.ts.map