import { CryptoFiat } from '@imtbl/cryptofiat';
export declare enum FiatSymbols {
    USD = "usd"
}
export interface CryptoFiatState {
    cryptoFiat: CryptoFiat | null;
    fiatSymbol: FiatSymbols;
    tokenSymbols: string[];
    conversions: Map<string, number>;
}
export declare const initialCryptoFiatState: CryptoFiatState;
export interface CryptoFiatContextState {
    cryptoFiatState: CryptoFiatState;
    cryptoFiatDispatch: React.Dispatch<CryptoFiatAction>;
}
export interface CryptoFiatAction {
    payload: CryptoFiatActionPayload;
}
type CryptoFiatActionPayload = SetCryptoFiatPayload | SetFiatSymbolPayload | SetTokenSymbolsPayload | SetConversionsPayload;
export declare enum CryptoFiatActions {
    SET_CRYPTO_FIAT = "SET_CRYPTO_FIAT",
    SET_FIAT_SYMBOL = "SET_FIAT_SYMBOL",
    SET_TOKEN_SYMBOLS = "SET_TOKEN_SYMBOLS",
    SET_CONVERSIONS = "SET_CONVERSIONS"
}
export interface SetCryptoFiatPayload {
    type: CryptoFiatActions.SET_CRYPTO_FIAT;
    cryptoFiat: CryptoFiat;
}
export interface SetFiatSymbolPayload {
    type: CryptoFiatActions.SET_FIAT_SYMBOL;
    fiatSymbol: FiatSymbols;
}
export interface SetTokenSymbolsPayload {
    type: CryptoFiatActions.SET_TOKEN_SYMBOLS;
    tokenSymbols: string[];
}
export interface SetConversionsPayload {
    type: CryptoFiatActions.SET_CONVERSIONS;
    conversions: Map<string, number>;
}
export declare const CryptoFiatContext: import("react").Context<CryptoFiatContextState>;
export type Reducer<S, A> = (prevState: S, action: A) => S;
export declare const cryptoFiatReducer: Reducer<CryptoFiatState, CryptoFiatAction>;
export {};
