/**
 * DatadogRetentionAdapter -- P4-RET-04 Datadog retention API (AC 14)
 *
 * Wired 2026-05-02 per Thomas Layer 0 directive (F-NEW-CRIT-31).
 *
 * Configuration:
 *   - DD_API_KEY: Datadog API key with logs_write permission
 *   - DD_APP_KEY: Datadog application key
 *   - DD_SITE: Datadog site (e.g. datadoghq.com, datadoghq.eu)
 *   - DD_RETENTION_POLICY_MAP: JSON blob mapping tenantId -> policyId
 *   - opts.baseUrl (test override): full base URL like http://127.0.0.1:18889
 *
 * Behavior:
 *   - setTenantRetention(): PUT /api/v1/logs/config/retention-policy/<policyId>
 *       { period_days: <days> }
 *   - 10s default timeout, 1 retry on 5xx or network error.
 *   - On final failure, dispatches to DLQ callback (if injected) and rethrows.
 *
 * Spec: P4-RET-01 Section 2.4, AC 14
 *
 * @connexum/ai-governance
 */
import type { LogAggregatorRetention } from './log-aggregator.js';
import type { RetentionDLQCallback } from './splunk.js';
export interface DatadogRetentionAdapterOpts {
    apiKey?: string;
    appKey?: string;
    site?: string;
    /** Optional full base URL override (for tests). Takes precedence over `site`. */
    baseUrl?: string;
    policyMap?: Record<string, string>;
    timeoutMs?: number;
    dlq?: RetentionDLQCallback;
    fetchImpl?: typeof fetch;
}
export declare class DatadogRetentionAdapter implements LogAggregatorRetention {
    readonly aggregatorType = "datadog";
    private readonly apiKey;
    private readonly appKey;
    private readonly site;
    private readonly baseUrl;
    private readonly policyMap;
    private readonly timeoutMs;
    private readonly dlq;
    private readonly fetchImpl;
    constructor(opts?: DatadogRetentionAdapterOpts);
    setTenantRetention(tenantId: string, days: number): Promise<void>;
    getTenantRetention(tenantId: string): Promise<number | null>;
    private doFetch;
    private dispatchWithRetry;
    private isRetryable;
}
//# sourceMappingURL=datadog.d.ts.map