import type { ConfigFetcher, FetchResult } from './types';
export interface CdnFetcherOptions {
    /**
     * Base CDN URL (e.g., "https://cdn.syntrologie.com/configs")
     */
    baseUrl: string;
    /**
     * Unique config identifier (UUID).
     * This should be unguessable to prevent unauthorized access.
     */
    configId: string;
    /**
     * Optional SRI hash for integrity verification.
     */
    integrity?: string;
}
/**
 * Fetches config from CDN using UUID-based paths.
 *
 * Security: Config paths use UUIDs which are unguessable.
 * Each client has a unique config path that cannot be enumerated.
 *
 * Performance: CDN-cached with long TTL for versioned configs.
 */
export declare class CdnFetcher implements ConfigFetcher {
    readonly name = "cdn";
    private url;
    private integrity?;
    constructor(options: CdnFetcherOptions);
    fetch(): Promise<FetchResult>;
}
/**
 * Factory function for creating a CDN fetcher.
 */
export declare function createCdnFetcher(options: CdnFetcherOptions): ConfigFetcher;
