import { Product, UnboundProductData } from "../products/product.base.js"; import type { ProductSelector, Store } from "../store.js"; export type ProviderData = { store: Store; }; export declare const INGNORE_CAMPAIGN: string[]; export type FetchedProduct = { overrides: { oldCampaign?: string; newCampaign?: string; }; product: UnboundProductData | undefined; }; export declare abstract class Provider { protected store: Store; constructor({ store }: ProviderData); getProduct(param: ProductSelector): Promise; protected abstract _getProduct(product: UnboundProductData | undefined): Product | undefined; private applyOverrides; private applyTransformers; private applyTrialLinks; getCampaign(id: string, campaign?: string): Promise; adaptTo(param: { id: string; }): Promise<{ id: string; }>; adaptTo(param: { id: string; devices: number; subscription: number; }): Promise<{ id: string; devices: number; subscription: number; }>; protected abstract fetch(product: ProductSelector): Promise; }