import { type Address, type Hex } from 'viem';
/** Key of the set holding `account`'s pending GM deposit request keys. */
export declare const accountDepositListKey: (account: Address) => Hex;
/** Key of the set holding `account`'s pending GM withdrawal request keys. */
export declare const accountWithdrawalListKey: (account: Address) => Hex;
/**
 * PnL-factor type used for GM/GLV token-price display (mirrors what the
 * GMX UI passes to `getMarketTokenPrice`).
 */
export declare const MAX_PNL_FACTOR_FOR_TRADERS: `0x${string}`;
/**
 * Plain `DataStore.getUint` config keys for the execution-fee estimate.
 * `feeTokenAmount = (baseGasLimit + estimatedGasLimit * multiplier / 1e30) *
 * gasPrice` — mirrors the GMX SDK's `getExecutionFee`.
 */
export declare const GMX_GAS_KEYS: {
    readonly estimatedGasFeeBaseAmount: `0x${string}`;
    readonly estimatedGasFeeMultiplierFactor: `0x${string}`;
    readonly depositGasLimit: `0x${string}`;
    readonly withdrawalGasLimit: `0x${string}`;
    readonly glvDepositGasLimit: `0x${string}`;
    readonly glvWithdrawalGasLimit: `0x${string}`;
    readonly glvPerMarketGasLimit: `0x${string}`;
};
/** Cap on a market's pool token amount (native units). `Keys.maxPoolAmountKey`. */
export declare const maxPoolAmountKey: (market: Address, token: Address) => Hex;
/** Cap on a market's pool value (USD, 1e30) for deposits.
 *  `Keys.maxPoolUsdForDepositKey`. */
export declare const maxPoolUsdForDepositKey: (market: Address, token: Address) => Hex;
/** Cap on the USD value of GM tokens a GLV may hold for one market.
 *  `Keys.glvMaxMarketTokenBalanceUsdKey` — keyed by (glv, market). */
export declare const glvMaxMarketTokenBalanceUsdKey: (glv: Address, market: Address) => Hex;
/** Cap on the GM token amount a GLV may hold for one market (native units).
 *  `Keys.glvMaxMarketTokenBalanceAmountKey` — keyed by (glv, market). */
export declare const glvMaxMarketTokenBalanceAmountKey: (glv: Address, market: Address) => Hex;
/** Market open interest (USD, 1e30) on one side, for positions collateralised
 *  in `collateralToken`. Mirrors `Keys.openInterestKey`. */
export declare const openInterestKey: (market: Address, collateralToken: Address, isLong: boolean) => Hex;
/** Market open interest in index tokens (native units) on one side, for
 *  positions collateralised in `collateralToken`. `Keys.openInterestInTokensKey`. */
export declare const openInterestInTokensKey: (market: Address, collateralToken: Address, isLong: boolean) => Hex;
/** Market reserve factor (1e30) on one side — the fraction of the side's pool
 *  value that may be reserved for open positions. `Keys.reserveFactorKey`. */
export declare const reserveFactorKey: (market: Address, isLong: boolean) => Hex;
//# sourceMappingURL=keys.d.ts.map