/**
 * @packageDocumentation
 * Implements automatic blocking of tracking scripts and network requests until user consent is granted.
 *
 * IMPORTANT: This module overrides global `fetch` and `XMLHttpRequest` APIs to enforce consent requirements.
 * While this approach is necessary for proper consent management, it may conflict with other libraries that
 * also modify these APIs. This implementation takes precedence to ensure compliance.
 */
import type { AllConsentNames, ConsentState } from '../types';
/**
 * Configuration options for the tracking blocker
 */
export interface TrackingBlockerConfig {
    /** Whether to disable automatic blocking (defaults to false) */
    disableAutomaticBlocking?: boolean;
    /** Override the default domain consent map */
    overrideDomainConsentMap?: boolean;
    /** Map of domains to their required consent types */
    domainConsentMap?: Record<string, AllConsentNames>;
}
interface TrackingBlocker {
    updateConsents: (newConsents: Partial<ConsentState>) => void;
    destroy: () => void;
}
/**
 * Creates a tracking blocker instance that handles blocking of tracking scripts and network requests
 */
export declare function createTrackingBlocker(config?: TrackingBlockerConfig, initialConsents?: ConsentState): TrackingBlocker;
export {};
//# sourceMappingURL=tracking-blocker.d.ts.map