import { IPriceData } from '../interfaces/price-data.interface';
export declare abstract class PriceSourceBase<TProductCategory extends object> {
    protected sourceName: string;
    protected apiUrl?: string;
    protected productCategories: TProductCategory[];
    constructor(sourceName: string, productCategories: TProductCategory[], apiUrl?: string);
    abstract fetchPrice(productCategories: Record<string, TProductCategory>): Promise<Record<string, IPriceData>>;
    abstract isActive(): Promise<boolean>;
}
