import { Logger } from "../utils/logger";
import { RateLimiter } from "../utils/rate-limiter";
export declare abstract class BaseCollector {
    protected readonly logger?: Logger;
    protected readonly rateLimiter?: RateLimiter;
    constructor(logger?: Logger, rateLimiter?: RateLimiter);
    protected error(message: string, context?: Record<string, unknown>): void;
    protected withRateLimit<T>(fn: () => Promise<T>): Promise<T>;
}
