import type { CanvasConfigResponse } from '../types';
/**
 * Result from a config fetch, including timing metadata.
 */
export interface FetchResult {
    config: CanvasConfigResponse;
    meta: {
        source: 'experiments' | 'cdn' | 'cache';
        fetchTimeMs: number;
        cached?: boolean;
        cacheAge?: number;
    };
}
/**
 * Base interface for all config fetchers.
 */
export interface ConfigFetcher {
    /**
     * Fetch the config.
     */
    fetch(): Promise<FetchResult>;
    /**
     * Name of this fetcher for logging/debugging.
     */
    readonly name: string;
}
