import * as React from "react"; import type { Brand } from "../../records/Brand"; import type { Currency, Currencies } from "../../records/Currency"; import type { Countries } from "../../records/Country"; import getGeoCountryCall from "./services/getGeoCountry"; import getCurrenciesCall from "../../services/currency/getAll"; export declare type Arg = { currency: Currency; available: Currencies; recommended: Currency[]; onChange: (code: string) => void; }; declare type Props = { brand: Brand; countries: Countries; affiliate: string; ip: string; langCurrency: string; children: (arg: Arg) => React.ReactNode; onChange: (currency: string) => void; mostUsed: string[]; getCurrencies: typeof getCurrenciesCall; getGeoCountry: typeof getGeoCountryCall; url?: string; }; declare type State = { currency: Currency | null; loading: boolean; all: Currencies; available: Currencies; recommended: Currency[]; country: string; }; export default class CurrencyProvider extends React.PureComponent { static defaultProps: { mostUsed: string[]; getCurrencies: ({ module, options }?: { module?: import("../../services/currency/getAll").Module | undefined; options?: import("../../services/currency/getAll").Options | undefined; }) => Promise; getGeoCountry: (ip: string) => Promise; }; constructor(props: Props); static getDerivedStateFromProps(props: Props, state: State): import("../../services/currency/init").Payload | null; componentDidMount(): void; componentDidUpdate(props: Props, state: State): void; handleChange: (code: string) => void; loadData(): Promise; render(): React.ReactNode; } export {};