import { a3 as ResolvedConfig, ae as TelemetryEventInput, ad as TelemetryEventAck, ag as TelemetryLogInput, af as TelemetryLogAck } from './types-CRIIjqzC.js';
import 'drizzle-orm/node-postgres';
import './errors.js';

declare function createTelemetryNamespace(config: ResolvedConfig): {
    /**
     * Persiste um evento de uso. Lança `NeetruError` em qualquer falha
     * (incluindo rate-limit).
     *
     * @example
     * ```ts
     * await client.telemetry.event({
     *   name: 'dashboard_opened',
     *   properties: { plan: 'pro', tab: 'overview' },
     * });
     * ```
     */
    event(input: TelemetryEventInput): Promise<TelemetryEventAck>;
    /**
     * Fire-and-forget: enqueue + flush 500ms debounce. Não retorna `eventId`
     * — falhas são logadas como warning. Ideal pra alta frequência.
     *
     * @example
     * ```ts
     * client.telemetry.track({ name: 'page_view', properties: { path: '/' } });
     * // segue execução; flush async em background
     * ```
     */
    track(input: TelemetryEventInput): void;
    /**
     * Força flush imediato da queue de `track()`. Resolva antes de
     * page unload / SSR boundary pra não perder eventos.
     */
    flush(): Promise<void>;
    /**
     * Registra um log estruturado per-product (Sprint 6).
     *
     * - `NEETRU_ENV=dev`: console.{level}, retorna ack mock.
     * - workspace/prod: HTTP POST com Bearer auth + correlationId no header.
     *
     * @example
     * ```ts
     * await client.telemetry.log({
     *   level: 'error',
     *   message: 'Falha ao calcular total',
     *   metadata: { orderId: 'o-123' },
     * });
     * ```
     */
    log(input: TelemetryLogInput): Promise<TelemetryLogAck>;
};

export { createTelemetryNamespace };
