import { ProviderAction } from 'src/regions/RegionsService'; import { Provider, QuoteOrQuery, RegionProvider } from '../API'; import { QuoteError, QuoteResponse, Limits, SellQuoteResponse } from '../IOnRampSdk'; export interface IProvider { getId(): string; getLimit(provider: RegionProvider, fiat: string, crypto: string, paymentMethods: string[]): Promise; getSellLimit(provider: RegionProvider, fiat: string, crypto: string, paymentMethods: string[]): Promise; formatQuote(quote: QuoteOrQuery | QuoteError, provider: Provider, regionId: string, paymentMethod: string, crypto: string, fiat: string, amount: number | string, action: ProviderAction, receiver?: string): Promise; getQuote(provider: RegionProvider, quoteUri: string, regionId: string, paymentMethod: string, crypto: string, fiat: string, amount: number | string, receiver?: string, abortController?: AbortController): Promise; getSellQuote(provider: RegionProvider, quoteUri: string, regionId: string, paymentMethod: string, crypto: string, fiat: string, amount: number | string, receiver?: string, abortController?: AbortController): Promise; }