/**
 * UI Bridge Native — observability ring buffers.
 *
 * Two small last-N buffers backing the `/control/console-errors` and
 * `/sdk/network-requests` endpoints. Each buffer monkey-patches the relevant
 * global on `install()` and restores the original on `uninstall()`, so they
 * can be installed/torn-down with the server's lifecycle.
 *
 * Both buffers are gated behind `features.observability` by the caller (see
 * NativeUIBridgeServer), which defaults to the `features.testHooks` value.
 * Builds with both flags off never run these patches; release builds can
 * opt in with `observability: true` without enabling testHooks.
 *
 * Implementation notes:
 *   - Buffers default to capacity 100 entries and drop oldest on overflow.
 *   - Patches are idempotent: `install()` is a no-op when already installed;
 *     `uninstall()` is a no-op when not installed.
 *   - Patches only restore the *original* function captured at install time;
 *     if other code wraps `console.error` / `fetch` between install and
 *     uninstall, those wrappers will be lost. Acceptable for test hooks.
 */
import type { ConsoleErrorEntry, NetworkRequestEntry } from './types';
export declare class ConsoleErrorBuffer {
    private buffer;
    private installed;
    private originalError?;
    private originalWarn?;
    constructor(capacity?: number);
    install(): void;
    uninstall(): void;
    entries(opts?: {
        since?: number;
        limit?: number;
    }): ConsoleErrorEntry[];
    size(): number;
    clear(): void;
    isInstalled(): boolean;
}
export declare class NetworkRequestBuffer {
    private buffer;
    private installed;
    private originalFetch?;
    private originalXhrOpen?;
    private originalXhrSend?;
    constructor(capacity?: number);
    install(): void;
    uninstall(): void;
    entries(opts?: {
        since?: number;
        limit?: number;
    }): NetworkRequestEntry[];
    size(): number;
    clear(): void;
    isInstalled(): boolean;
}
//# sourceMappingURL=observability.d.ts.map