import { Environment, LogLevel } from './types';
import { NetworkIdT3rn } from '../pricer/types';
import { z } from 'zod';
import { BigNumber } from 'ethers';
export declare const EnvironmentSchema: z.ZodNativeEnum<typeof Environment>;
export declare const getDefaultRpcs: (networkId: NetworkIdT3rn) => string[];
export declare const AppNameSchema: z.ZodEnum<["across", "distributor", "executor", "fastwriter", "guardian", "local", "messiah", "monitor", "placer", "pricer", "stats", "prophet", "test", "t3"]>;
export declare const disabledNetworks: string[];
declare const config: {
    nodeEnv: string;
    environment: Environment;
    version: string;
    instance: string;
    replicas: number;
    enabledNetworks: string[];
    privateKey: string;
    appName: string;
    podName: string | undefined;
    podNumber: number;
    networks: {
        [x: string]: import("./types").NetworkConfig;
    };
    testnetNetworkIds: ("arbm" | "basm" | "bscm" | "blsm" | "btcm" | "unim" | "ethm" | "linm" | "optm" | "scrm" | "l3rn" | "t3rn" | "arbt" | "bast" | "bsct" | "blst" | "lint" | "unit" | "opst" | "scrt" | "sept" | "l0rn" | "l1rn" | "l2rn" | "t1rn" | "t2rn" | "bert" | "berm" | "abst" | "absm" | "lskt" | "lskm" | "mont" | "monm" | "seim" | "seit" | "gnot" | "gnom" | "sklt" | "sklm" | "lol3" | "lols" | "lold" | "zero" | "ctit" | "ctim")[];
    mainnetNetworkIds: ("arbm" | "basm" | "bscm" | "blsm" | "btcm" | "unim" | "ethm" | "linm" | "optm" | "scrm" | "l3rn" | "t3rn" | "arbt" | "bast" | "bsct" | "blst" | "lint" | "unit" | "opst" | "scrt" | "sept" | "l0rn" | "l1rn" | "l2rn" | "t1rn" | "t2rn" | "bert" | "berm" | "abst" | "absm" | "lskt" | "lskm" | "mont" | "monm" | "seim" | "seit" | "gnot" | "gnom" | "sklt" | "sklm" | "lol3" | "lols" | "lold" | "zero" | "ctit" | "ctim")[];
    walletCheckIntervalSec: number;
    log: {
        level: LogLevel;
        pretty: boolean;
    };
    archivedNetworks: string[];
    featureFlags: {
        supportRevertCommitments: boolean;
        updateDynamoExecutorBalanceOnClaim: boolean;
        enableRemoteL3: boolean;
        processInvalidPendingRefund: boolean;
        processInvalidAttestations: boolean;
        traverseLongRangeBatches: boolean;
        healthCheckAlwaysTrue: boolean;
        v2: boolean;
        v3: boolean;
        v4: boolean;
        remoteL3AttestationBook: string;
        quickL2BackdoorSubmission: boolean;
        adhocOrdersBatchPopulate: boolean;
        pushMissingIntervals: boolean;
        pushViaTraverse: boolean;
        v2OrdersBatchPopulate: boolean;
        remotePopulateAttestedOnly: boolean;
        boostL3ToL2Pusher: boolean;
        backdoorPastVersions: boolean;
        extraPopulateAttestations: boolean;
        missingL3ToL2Pusher: boolean;
        adhocPopulate: boolean;
        adhocAttestationPopulateToL3ConfirmationBook: boolean;
        adhocAttest: boolean;
        adhocTryConstructBatch: boolean;
        v2RevertProcessCacheMemos: boolean;
        processReAttestQueue: boolean;
        intervalTryConstructBatch: boolean;
        reversePopulateConfirmedAttributes: boolean;
        pricerBackdoor: boolean;
        feedPricePoints: boolean;
        supportTokens: boolean;
        executorSkipClaimsVerification: boolean;
        reDeliverL3DLQEnabled: boolean;
        processGMPMismatchQueue: boolean;
        reDeliverL3AttestationsEnabled: boolean;
        executorUnderbidMicroPercentage: number;
        transmitterPendingTxReceiptsUseSQS: {
            executor: boolean;
            prophet: boolean;
            guardian: boolean;
        };
        estimateDisableGasFee: boolean;
    };
    tokens: {
        bytes32Zero: string;
        oneOn18Decimals: number;
        maxPrecision: number;
        commitGmpByte: string;
        commitOpenMarketGmpByte: string;
        revertGmpByte: string;
    };
    orders: {
        excludedLifecyclesFromBatching: ("Attest" | "AVPAttest" | "AVPClaim" | "AVPBackdoor" | "Bid" | "Claim" | "ClaimV2" | "ClaimInsurance" | "Execute" | "OrderL3" | "OrdersL3" | "LateOrderDLQL3" | "SingleAttestL3" | "AttestL3" | "AttestBatchPayloadL3" | "ConfirmAttestationL3" | "RemoveGMPUnmatched" | "ConfirmExecutionL3" | "AnchorEscrowGMPPayloadUnmatchedToL3" | "ConfirmClaimedL3" | "ConfirmClaimedRefundL3" | "BatchAttestL3" | "TryConstructBatchL3" | "BatchPopulateL3" | "BatchRevertAttestL3" | "MemoPayloadL3" | "ConstructRevertBatchL3" | "AVPRefundBatches" | "AVPClaimBatches" | "SegmentBookFinalizeBatch" | "SegmentBookMark" | "SegmentSubmit" | "Order" | "ClaimRefundV2OfBatch" | "EmergencyClaimRefundV2OfBatch")[];
        defaultProtocolFeeInMicroPercentage: BigNumber;
        defaultProtocolFlatFee: BigNumber;
    };
    l3: {
        currentActiveNetwork: NetworkIdT3rn;
    };
    prometheus: {
        enabled: boolean;
        port: number;
    };
    rpc: {
        gasPriceFetchIntervalSec: number;
        gasFeeBump: number;
        healthCheckIntervalSec: number;
        pollInterval: number;
        feeDataCacheKey: string;
    };
    pricer: {
        expirationSec: {
            estimate: number;
            order: number;
        };
        slippage: {
            low: number;
            regular: number;
            high: number;
            max: number;
        };
        apiOnly: boolean;
        pendingOrders: {
            verifyAgainstExecutable: boolean;
            applyHitMap: boolean;
            implementation: string;
            randomize: boolean;
            longFetchLimit: number;
            fetchLimit: number;
            cutOffLimit: number;
            cacheTimeSec: number;
        };
        pendingExecutions: {
            randomize: boolean;
            fetchLimit: number;
            cacheExpireSec: number;
        };
        useDefaultGasLimitNoEstimate: boolean;
        forceType0Estimates: boolean;
        minFlatExecutorFeeMicroUSD: number;
        executorFeeOfProtocolFee: number;
        gasPriceSpikeFactorPercent: number;
        buffGasLimit: boolean;
        applyL3GasSpikePendingDecrease: boolean;
        filterPendingBySupportedStrategies: boolean;
        returnClaimsExtendedAsIds: boolean;
        url: string;
        fetchIntervalSec: number;
        loadAssetsFromCacheIntervalSec: number;
        fetchBetweenNetworksIntervalSec: number;
        fetchMinAmountBetweenNetworksIntervalSec: number;
        corsOrigins: string[];
        maxDecimals18: number;
        erc20TransferGasLimit: number;
        ethTransferGasLimit: number;
        ethClaimGasLimit: number;
        erc20ClaimGasLimit: number;
        executorFee: number;
        priceMaxAgeMs: number;
        pendingOrdersCleanupTimeoutMs: number;
        executorInactivityTimeoutMs: number;
        pendingOrdersCleanupIntervalSec: number;
        fetchProtocolFeeIntervalSec: number;
        fetchOrderRefundTimeoutIntervalSec: number;
        fetchTokenPricesCacheSec: number;
        compareETHPriceIntervalSec: number;
        newProcesingOrdersFlow: boolean;
        errorMaxEstimatedRewardInUSD: boolean;
        maxCountClaimLimit: number;
        maxCountPendingRefundLimit: number;
        maxCountPendingFetchRefundLimit: number;
        disabledNetworks: string[];
        hardcodeT3rnAssets: boolean;
        thresholdDeviationPercentage: number;
    };
    guardian: {
        processExpirations: {
            enabled: boolean;
            enabledArchives: boolean;
            enabledOrderBookChain: boolean;
            archivesGenesisStartId: string;
            processingExpiredLimit: number;
        };
        processPendingRefundWaiting: boolean;
        processPendingRefundWaitingInterval: number;
        processingExecutedOrdersLimit: number;
        processingExecutedOrdersBatch: boolean;
        disableL3Ping: boolean;
        processingAttestedL3OrdersLimit: number;
        processingExecutedOrdersBatchSize: number;
        processingExecutedOrdersInterval: number;
        processingAttestedL3OrdersInterval: number;
        attestationBatchSize: number;
        attestation_allow_incomplete_batches: boolean;
        attestation_onion_check: boolean;
        maxL3PopulateBatchSize: number;
        startAttestingReverts: boolean;
        startAttestingCommits: boolean;
        checkForL2ConfirmationBeforeAttestL3: boolean;
        polymerUrl: string;
        polymerVerifierChainId: number;
        polymerVerifierContractAddress: string;
        processSelectedEmergencyClaims: boolean;
        listenConfirmationEvents: boolean;
        listenTransferCommitApplied: boolean;
        anchorLatestRevertBatch: boolean;
        waitTimeSeconds: number;
    };
    executor: {
        claimsListenerEnabled: boolean;
        useArbitrageStrategy: boolean;
        aggressionRate: number;
        fetchPendingOrdersShared: boolean;
        enableArbitrageStrategy: boolean;
        processOrders: {
            enabled: boolean;
            api: {
                enabled: boolean;
                intervalSec: number;
            };
            batch: boolean;
        };
        processPendingExecutions: {
            enabled: boolean;
            adHoc: boolean;
            api: {
                enabled: boolean;
                intervalSec: number;
            };
            batch: boolean;
        };
        haltBasedOnRatio: boolean;
        enableBiddingProcessing: boolean;
        maxL3GasPrice: number;
        skipClaimGasEstimate: boolean;
        minBalanceThresholdEth: string;
        batchSize: number;
        batchCreationTimeoutSec: number;
        bidDecreaseFactor: number;
        bidDecreasePercent: number;
        arbitrageStrategy: Object | undefined;
        enabledNetworks: string[];
        enabledAssets: string[];
    };
    fastWriter: {
        trnNotMintedYet: boolean;
        transmitterCacheSec: number;
        verifyAssets: boolean;
        maxAmountUSD: number;
        minAmountUSD: number;
        mainnetOrders: boolean;
        profitableOrders: boolean;
        fetchProtocolFees: boolean;
        submitOrders: boolean;
        submitEscrowOrders: boolean;
        waitForReceipt: boolean;
        destinationAddress: string;
        asset: string;
        rewardAsset: string;
        insurance: string;
        maxAmount: string;
        delaySec: number;
        delayStressL3Sec: number;
        disabledNetworks: string[];
    };
    prophet: {
        useOrderMissingExecutorStatus: boolean;
        listenRemoteOrderCreatedEvents: boolean;
        pushNewOrdersToSQS: boolean;
        enableExoticNetworks: boolean;
        processPlacedOrdersTillHalf: boolean;
        processMissingConfirmation: boolean;
        processConfirmedRefundConfirmation: boolean;
        processMissingExecutorField: {
            enabled: boolean;
            fetchItemCount: number;
        };
        processingEvents: {
            claimed: {
                processClaimedEventOnRefund: boolean;
            };
        };
        processEscrowOrders: boolean;
        listenAVPEvents: boolean;
        expireOrders: {
            enabled: boolean;
            expirationMinutes: number;
            expirationMinutesWithBuffer: number;
            expirationPendingNoBidsMinutes: number;
            fetchedItemsCount: number;
            waitTimeSec: number;
        };
        storeLastBlockNumber: boolean;
        processNonClaimableEvents: boolean;
        listenGasConsumedEvents: boolean;
        listenGasConsumedExecuteEvents: boolean;
        listenGasConsumedOrderCreatedEvents: boolean;
        processNonRefundableEvents: boolean;
        processClaimedBatchEvents: boolean;
        enableMonitorWalletBalance: boolean;
        enableRotateAttestersCommittee: boolean;
        enableRPCListeners: boolean;
        supportConfirmationBookUpdates: boolean;
        listenBonusesL3: boolean;
        adHocFetchMissingBidWinner: boolean;
        backdoorNonClaimable: boolean;
        checkForConfirmedRefunds: boolean;
        processSQS: boolean;
        processSQSDLQ: boolean;
        eventProcessorCount: number;
        eventProcessorDLQCount: number;
        txReceiptAwaitTimeoutSec: number;
        confirmationWaitTimeSec: number;
        returnEventTimestampAsDateNow: boolean;
        sortSQSEventsByPriority: boolean;
    };
    transmitter: {
        listenNewBlock: boolean;
        preSyncNonceManager: boolean;
        backoffEventNameBatchItem: string;
        queueCapacity: number;
        preLoadNonce: boolean;
        backoffEventNameSingleItem: string;
        backoffEventNameTxReceipt: string;
        defaultTxBackoffSec: number;
        logQueueStatsWaitTimeSec: number;
        useSliceForSendOuts: boolean;
        maxTxRetries: number;
        queueIntervalL3Sec: number;
        queueIntervalSec: number;
        parallelSendOutSize: number;
        txReceiptAwaitTimeoutSec: number;
        txReceiptRecoverIntervalSec: number;
        txReceiptRecoverTimeoutSec: number;
        maxTxPerBlock: number;
        maxTxPerBlockL2: number;
        maxAVPAttestPendingReceiptItems: number;
        maxAVPAttestQueueItems: number;
        coalesceAVPBatch: boolean;
        coalesceAVPClaim: boolean;
        maxAVPBatchSize: number;
    };
    monitor: {
        monitorDoubleSpend: boolean;
        monitorAttestations: boolean;
        adjustOrderTimeout: boolean;
        adjustBidDifficulty: boolean;
        observeBRNRewards: boolean;
        startUpdatingExecutorsBalances: boolean;
        orderTimeoutAdjustmentIntervalSec: number;
        orderStatusCountMetricsIntervalSec: number;
        orderStatusMetricsIntervalSec: number;
        orderStatusCountTotalMetricsIntervalSec: number;
        gasFeeLimitThreshold: number;
        bidDifficultyDecreaseLimit: number;
        bidDifficultyIncreaseLimit: number;
        bidDifficultyIncreaseLimitMax: number;
    };
    dynamo: {
        orderTTL: number;
    };
    passport: {
        apiKey: string;
        scorerId: number;
        passingScore: number;
        endpointPassword: string;
    };
    aws: {
        region: string;
        sqs: {
            enabled: boolean;
            eventListenerQueue: string;
            eventListenerQueueDLQ: string;
            placerOrderQueue: string;
            placerOrderQueueDLQ: string;
            backdoorBatchHashQueue: string;
            signalSegmentsProductionQueue: string;
            backdoorBatchHashQueueDLQ: string;
            transmitterPendingTxReceiptsQueue: string;
            transmitterPendingTxReceiptsQueueDLQ: string;
            maxNumberOfMessages: number;
            waitTimeSeconds: number;
            preCheckForDedup: boolean;
        };
        redshift: {
            enabled: boolean;
            workGroupName: string;
            database: string;
        };
    };
    redis: {
        cacheUrl: string;
        cacheEnabled: boolean;
    };
    moralis: {
        apiKey: string;
    };
    parachain: {
        networks: string[];
    };
    shutdown: {
        waitMaxSec: number;
        waitBetweenRetriesSec: number;
    };
    distributor: {
        autoClaim: {
            enabled: boolean;
            checkAlreadyClaimed: boolean;
            fetchLimit: number;
            batchLimit: number;
            sleepSec: number;
            sleepSecEmpty: number;
        };
        autoRefunds: {
            enabled: boolean;
            fetchLimit: number;
            sleepSecEmpty: number;
            sleepSec: number;
        };
        invalidPendingRefundLimit: number;
        protocolFeeWithdrawAmountThresholdGwei: number;
        enableProcessingFallbackRecovery: boolean;
        enableProcessingInvalidPendingRefunds: boolean;
        verifyIsExecuted: boolean;
        enableAutoInsuranceClaimOnFlight: boolean;
        validatePayloadAutoClaimOnFlight: boolean;
        enableAutoChargeOperators: boolean;
        archivedNetworksEnabled: boolean;
        fetchAndLogPendingRefunds: boolean;
        enableRemoteOrderAdminsMonitoring: boolean;
        enableGasFeeLimitsUpdate: boolean;
        pendingRefundLimitSize: number;
        updateGasFeeLimitsIntervalSec: number;
        disabledNetworks: string[];
    };
    placer: {
        enabled: boolean;
        enabledOrderCache: boolean;
        updateUnsupportedNetworkStatus: boolean;
        placeExoticOrders: boolean;
        checkCachedOrders: boolean;
        intervalSec: number;
        exoticIntervalSec: number;
        fetchLimit: number;
        batchEnabled: boolean;
        batchSize: number;
        processPlacedOrdersFromSQS: boolean;
        sqsProcessorCount: number;
        sqsDLQProcessorCount: number;
    };
    messiah: {
        enableRedis: boolean;
        blockQuickNodeRPC: boolean;
        startLocalSQSQueue: boolean;
        noProphetMode: boolean;
        checkForConfirmedRefunds: boolean;
        resetLastBlockAtRestartPod0: boolean;
        resetLastBlockAtRestartPod1: boolean;
        trackGasConsumedAddOns: boolean;
        handleEventsWithSQS: boolean;
        reportStatements: boolean;
        produceHourlyStatements: boolean;
        fetchBlockSize: number;
        maxFetchBlockSize: number;
        waitOnNewBlockSec: number;
        safeStartingBlockOffset: number;
        pod0MinOffsetMinutes: number;
        pod1MinOffsetMinutes: number;
        submitPolymerOrderCreatedProofs: boolean;
        submitPolymerOrderConfirmedProofs: boolean;
        maxTowerFetchSize: number;
        dlqEnabled: boolean;
        pod0SkipDBVerify: boolean;
        pod1SkipDBVerify: boolean;
        filterOutBots: boolean;
        usePublicRpcForPods: string[];
        genesisTimePod0: string;
        genesisTimePod1: string;
        disabledNetworks: string[];
        disabledNetworksPod1: string[];
    };
};
export default config;
export type Config = typeof config;
//# sourceMappingURL=config.d.ts.map