import { providers } from "ethers";
export declare class TotalSupply {
    CHAIN_IDS: number[];
    SOLACE_ADDRESS: string;
    XSOLACE_ADDRESS: string;
    ERC20ABI: ({
        inputs: never[];
        stateMutability: string;
        type: string;
        anonymous?: undefined;
        name?: undefined;
        outputs?: undefined;
    } | {
        anonymous: boolean;
        inputs: {
            indexed: boolean;
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        type: string;
        stateMutability?: undefined;
        outputs?: undefined;
    } | {
        inputs: {
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        outputs: {
            internalType: string;
            name: string;
            type: string;
        }[];
        stateMutability: string;
        type: string;
        anonymous?: undefined;
    })[];
    getTotalSupply(chainId: number, token: 'SOLACE' | 'XSOLACE', providerOrSigner?: providers.Provider | providers.JsonRpcSigner): Promise<string>;
    getTotalSupplySum(token: 'SOLACE' | 'XSOLACE'): Promise<number>;
    getTotalSupplyAll(token: 'SOLACE' | 'XSOLACE'): Promise<string>;
}
export declare class CirculatingSupply {
    CHAIN_IDS: number[];
    SOLACE_ADDRESS: string;
    XSOLACE_ADDRESS: string;
    ERC20ABI: ({
        inputs: never[];
        stateMutability: string;
        type: string;
        anonymous?: undefined;
        name?: undefined;
        outputs?: undefined;
    } | {
        anonymous: boolean;
        inputs: {
            indexed: boolean;
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        type: string;
        stateMutability?: undefined;
        outputs?: undefined;
    } | {
        inputs: {
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        outputs: {
            internalType: string;
            name: string;
            type: string;
        }[];
        stateMutability: string;
        type: string;
        anonymous?: undefined;
    })[];
    skipSolaceAddrs: {
        [key: string]: any;
    };
    skipXSolaceAddrs: {
        [key: string]: any;
    };
    getCirculatingSupply(chainId: number, token: 'SOLACE' | 'XSOLACE', provider?: providers.Provider): Promise<string>;
    getCirculatingSupplySum(token: 'SOLACE' | 'XSOLACE'): Promise<number>;
    getCirculatingSupplyAll(token: 'SOLACE' | 'XSOLACE'): Promise<string>;
}
