import type { RelayAddress, RelayVmType } from './execution';
import { CheckoutRefundState, CheckoutState, type RelayExecutionInfo } from './types';
/**
 * Converts a token address within Funkit to the corresponding Relay token address.
 * TODO: what is the chainId type here? fun chain id or relay chain id?
 */
export declare function convertFunToRelayTokenAddress<T extends RelayVmType>(address: RelayAddress<T>, chainId: number): RelayAddress<T>;
/**
 * Converts a chainId within Funkit to the corresponding Relay chainId.
 */
export declare function convertFunToRelayChainId(chainId: number): number;
export declare function getRelayExecutionRefundState(info: RelayExecutionInfo): CheckoutRefundState | undefined;
export declare function getRelayExecutionState(info: RelayExecutionInfo): CheckoutState;
/**
 * Checks whether the Relay execution has reached a terminal status.
 */
export declare function isRelayExecutionTerminalStatus(info: RelayExecutionInfo): boolean;
export type Serializable = bigint | boolean | null | number | string | Date | object | Serializable[];
export declare function jsonStringifyWithBigIntSanitization(serializable: Serializable): string;
export declare function indexBy<Item>(items: Item[], getKey: (item: Item) => string): Record<string, Item>;
export declare function filterNullishHeaders(params: Record<string, string | undefined | null>): Record<string, string>;
//# sourceMappingURL=utils.d.ts.map