import { type Address, type Chain } from 'viem';
export declare enum CHAINS {
    Mainnet = 1,
    Holesky = 17000,
    Hoodi = 560048,
    Sepolia = 11155111,
    Optimism = 10,
    OptimismSepolia = 11155420,
    Soneium = 1868,
    SoneiumMinato = 1946,
    Unichain = 130,
    UnichainSepolia = 1301
}
export declare const APPROX_BLOCKS_BY_DAY = 7600n;
export declare const APPROX_SECONDS_PER_BLOCK = 12n;
export declare const SUPPORTED_CHAINS: CHAINS[];
export declare const SUBMIT_EXTRA_GAS_TRANSACTION_RATIO = 1.05;
export declare const GAS_TRANSACTION_RATIO_PRECISION: number;
export declare const LIDO_LOCATOR_BY_CHAIN: {
    [key in CHAINS]?: Address;
};
export declare const SUBRGRAPH_ID_BY_CHAIN: {
    [key in CHAINS]?: string;
};
export declare const EARLIEST_TOKEN_REBASED_EVENT: {
    [key in CHAINS]?: bigint;
};
export declare const LIDO_TOKENS: {
    readonly steth: "stETH";
    readonly wsteth: "wstETH";
    readonly eth: "ETH";
    readonly unsteth: "unstETH";
};
export declare enum LIDO_CONTRACT_NAMES {
    accountingOracle = "accountingOracle",
    depositSecurityModule = "depositSecurityModule",
    elRewardsVault = "elRewardsVault",
    lido = "lido",
    oracleReportSanityChecker = "oracleReportSanityChecker",
    postTokenRebaseReceiver = "postTokenRebaseReceiver",
    burner = "burner",
    stakingRouter = "stakingRouter",
    treasury = "treasury",
    validatorsExitBusOracle = "validatorsExitBusOracle",
    withdrawalQueue = "withdrawalQueue",
    withdrawalVault = "withdrawalVault",
    oracleDaemonConfig = "oracleDaemonConfig",
    wsteth = "wsteth",
    wstethReferralStaker = "wstethReferralStaker"
}
export declare enum DUAL_GOVERNANCE_CONTRACT_NAMES {
    EPT = "EPT"
}
export declare const DUAL_GOVERNANCE_CONTRACT_ADDRESSES: {
    [key in CHAINS]?: {
        [key2 in DUAL_GOVERNANCE_CONTRACT_NAMES]?: Address;
    };
};
export declare const WSTETH_REFERRAL_STAKER: {
    [key in CHAINS]?: Address;
};
export declare enum LIDO_L2_CONTRACT_NAMES {
    wsteth = "wsteth",
    steth = "steth"
}
export declare const VAULT_VIEWER_CONTRACT_ADDRESSES: {
    [key in CHAINS]?: Address;
};
export declare const LIDO_L2_CONTRACT_ADDRESSES: {
    [key in CHAINS]?: {
        [key2 in LIDO_L2_CONTRACT_NAMES]?: Address;
    };
};
export declare const CONTRACTS_BY_TOKENS: {
    readonly stETH: LIDO_CONTRACT_NAMES.lido;
    readonly wstETH: LIDO_CONTRACT_NAMES.wsteth;
    readonly unstETH: LIDO_CONTRACT_NAMES.withdrawalQueue;
};
export declare const NOOP: () => void;
export declare const EIP2612_TYPE: readonly [{
    readonly name: "owner";
    readonly type: "address";
}, {
    readonly name: "spender";
    readonly type: "address";
}, {
    readonly name: "value";
    readonly type: "uint256";
}, {
    readonly name: "nonce";
    readonly type: "uint256";
}, {
    readonly name: "deadline";
    readonly type: "uint256";
}];
export declare const PERMIT_MESSAGE_TYPES: {
    readonly EIP712Domain: readonly [{
        readonly name: "name";
        readonly type: "string";
    }, {
        readonly name: "version";
        readonly type: "string";
    }, {
        readonly name: "chainId";
        readonly type: "uint256";
    }, {
        readonly name: "verifyingContract";
        readonly type: "address";
    }];
    readonly Permit: readonly [{
        readonly name: "owner";
        readonly type: "address";
    }, {
        readonly name: "spender";
        readonly type: "address";
    }, {
        readonly name: "value";
        readonly type: "uint256";
    }, {
        readonly name: "nonce";
        readonly type: "uint256";
    }, {
        readonly name: "deadline";
        readonly type: "uint256";
    }];
};
export declare const VIEM_CHAINS: {
    [key in CHAINS]: Chain extends {
        id: CHAINS;
    } ? Chain : never;
};
export declare const WQ_API_URLS: {
    [key in CHAINS]?: string;
};
//# sourceMappingURL=constants.d.ts.map