import { Event } from "@ethersproject/contracts";
import { BigNumberish } from "../utils";
export type SerializableEvent = Omit<Event, "decode" | "removeListener" | "getBlock" | "getTransaction" | "getTransactionReceipt">;
export type Balances = {
    [key: string]: string;
};
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;
};
