import { Event } from "@ethersproject/contracts";
import { BigNumberish } from "../utils";
/**
 * @dev Originally imported from @uma/sdk.
 * @dev This code is intended to support existing use of contracts/hubPool.ts and should not be used for new code.
 * @todo Refactor contracts/hubPool.ts to avoid the need for this.
 */
export type SerializableEvent = Omit<Event, "decode" | "removeListener" | "getBlock" | "getTransaction" | "getTransactionReceipt">;
export type Balances = {
    [key: string]: string;
};
/**
 * Utility for maintaining records of a token balance.
 */
export declare function Balances(balances?: Balances): {
    create: (id: string, amount?: string) => string;
    add: (id: string, amount: BigNumberish) => string;
    sub: (id: string, amount: BigNumberish) => string;
    get: (id: string) => string;
    balances: Balances;
    set: (id: string, amount: string) => string;
    has: (id: string) => boolean;
    getOrCreate: (id: string) => string;
};
//# sourceMappingURL=utils.d.ts.map