import { BigNumber } from 'ethers';
import { NetworkIdT3rn } from '../pricer/types';
export declare enum Environment {
    devnet = "devnet",
    testnet = "testnet",
    mainnet = "mainnet",
    tests = "tests"
}
export declare enum NativeTokenSymbol {
    TRN = "TRN",
    L0RN = "LRN",
    BRN = "BRN",
    ETH = "ETH",
    MON = "MON",
    SEI = "SEI",
    TIA = "TIA",
    BNB = "BNB",
    FIL = "FIL",
    BERA = "BERA",
    BTC = "BTC"
}
export declare enum LogLevel {
    TRACE = "trace",
    DEBUG = "debug",
    INFO = "info",
    WARN = "warn",
    ERROR = "error",
    FATAL = "fatal"
}
export declare enum Instance {
    alfa = "alfa",
    bravo = "bravo",
    test = "test"
}
export type ContractsData = {
    [env in Environment]: ContractsAddresses;
};
export interface ContractsAddresses {
    contracts: {
        attesters: string;
        escrowGMP: string;
        remoteOrder: string;
        remoteOrderV2?: string;
        escrowOrder?: string;
        localExchange: string;
        attestedLightClient: string;
        liquidityWell: string;
        lpToken: string;
        lpTokenInitializer: string;
        openMarketPricer: string;
        claimerGMP?: string;
        claimerGMPV2?: string;
        avpBatchSubmitter?: string;
        remoteLiquidityWell: string;
        L3: {
            attestersPortal: string;
            orderBook: string;
            escrowOrderBook?: string;
            biddingBook: string;
            attestationDLQ?: string;
            confirmationBook: string;
            pendingBook?: string;
            segmentBook?: string;
            singleAttestationBook: string;
            singleAttestationBookV2?: string;
            singleAttestationBookV3?: string;
            singleAttestationBookV4?: string;
            longRangeAttestationsBook?: string;
            payloadGetter?: string;
            pendingAttestationsBook?: string;
            attestationBatchMaker: string;
            attestationBatchMakerV2?: string;
            attestationBatchMakerV3?: string;
            batchPoster?: string;
            BRNRewards: string;
            TRNInflation?: string;
            TRNInflationRewards?: string;
            BRNBalanceGetter?: string;
            BRN2TRN?: string;
            bonusesL3?: string;
        };
    };
    tokens: {
        BRN?: string;
        t3BTC?: string;
        t3DOT?: string;
        t3SOL?: string;
        t3USD?: string;
        TRN?: string;
        t3ETH?: string;
        t3TIA?: string;
        t3MON?: string;
        t3SEI?: string;
    };
}
export declare enum FeeCalculationMethod {
    LINEA = "linea"
}
export declare enum Vendor {
    EVM = "evm",
    BTC = "btc",
    Celestia = "celestia"
}
export interface NetworkConfig {
    native: NativeTokenSymbol;
    contracts: ContractsAddresses['contracts'];
    tokens: ContractsAddresses['tokens'];
    id: NetworkIdT3rn;
    name: string;
    chainId: string;
    txType: number;
    scanUrl: string;
    rpcEndpoints: string[];
    attestationWaitTimeSec: number;
    blockTimeSec: number;
    mainnet: boolean;
    feeCalculationMethod?: FeeCalculationMethod;
    exotic?: boolean;
    bridgeAccount?: string;
    gasPriceLimit: BigNumber;
    vendor?: Vendor;
}
//# sourceMappingURL=types.d.ts.map