/**
 * Minimal GMX V2 read ABIs for the position / ticket reader.
 *
 * Struct layouts (Deposit.Props, Withdrawal.Props, GlvDeposit.Props,
 * GlvWithdrawal.Props) are extracted verbatim from the deployed Reader /
 * GlvReader ABIs — field order matters for viem to decode the named fields.
 */
export declare const GmxReaderAbi: readonly [{
    readonly name: "getDeposit";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "dataStore";
        readonly type: "address";
    }, {
        readonly name: "key";
        readonly type: "bytes32";
    }];
    readonly outputs: readonly [{
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "addresses";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "account";
                readonly type: "address";
            }, {
                readonly name: "receiver";
                readonly type: "address";
            }, {
                readonly name: "callbackContract";
                readonly type: "address";
            }, {
                readonly name: "uiFeeReceiver";
                readonly type: "address";
            }, {
                readonly name: "market";
                readonly type: "address";
            }, {
                readonly name: "initialLongToken";
                readonly type: "address";
            }, {
                readonly name: "initialShortToken";
                readonly type: "address";
            }, {
                readonly name: "longTokenSwapPath";
                readonly type: "address[]";
            }, {
                readonly name: "shortTokenSwapPath";
                readonly type: "address[]";
            }];
        }, {
            readonly name: "numbers";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "initialLongTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "initialShortTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "minMarketTokens";
                readonly type: "uint256";
            }, {
                readonly name: "updatedAtTime";
                readonly type: "uint256";
            }, {
                readonly name: "executionFee";
                readonly type: "uint256";
            }, {
                readonly name: "callbackGasLimit";
                readonly type: "uint256";
            }, {
                readonly name: "srcChainId";
                readonly type: "uint256";
            }];
        }, {
            readonly name: "flags";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "shouldUnwrapNativeToken";
                readonly type: "bool";
            }];
        }, {
            readonly name: "_dataList";
            readonly type: "bytes32[]";
        }];
    }];
}, {
    readonly name: "getWithdrawal";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "dataStore";
        readonly type: "address";
    }, {
        readonly name: "key";
        readonly type: "bytes32";
    }];
    readonly outputs: readonly [{
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "addresses";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "account";
                readonly type: "address";
            }, {
                readonly name: "receiver";
                readonly type: "address";
            }, {
                readonly name: "callbackContract";
                readonly type: "address";
            }, {
                readonly name: "uiFeeReceiver";
                readonly type: "address";
            }, {
                readonly name: "market";
                readonly type: "address";
            }, {
                readonly name: "longTokenSwapPath";
                readonly type: "address[]";
            }, {
                readonly name: "shortTokenSwapPath";
                readonly type: "address[]";
            }];
        }, {
            readonly name: "numbers";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "marketTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "minLongTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "minShortTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "updatedAtTime";
                readonly type: "uint256";
            }, {
                readonly name: "executionFee";
                readonly type: "uint256";
            }, {
                readonly name: "callbackGasLimit";
                readonly type: "uint256";
            }, {
                readonly name: "srcChainId";
                readonly type: "uint256";
            }];
        }, {
            readonly name: "flags";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "shouldUnwrapNativeToken";
                readonly type: "bool";
            }];
        }, {
            readonly name: "_dataList";
            readonly type: "bytes32[]";
        }];
    }];
}];
export declare const GmxGlvReaderAbi: readonly [{
    readonly name: "getAccountGlvDeposits";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "dataStore";
        readonly type: "address";
    }, {
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "start";
        readonly type: "uint256";
    }, {
        readonly name: "end";
        readonly type: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "tuple[]";
        readonly components: readonly [{
            readonly name: "addresses";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "glv";
                readonly type: "address";
            }, {
                readonly name: "account";
                readonly type: "address";
            }, {
                readonly name: "receiver";
                readonly type: "address";
            }, {
                readonly name: "callbackContract";
                readonly type: "address";
            }, {
                readonly name: "uiFeeReceiver";
                readonly type: "address";
            }, {
                readonly name: "market";
                readonly type: "address";
            }, {
                readonly name: "initialLongToken";
                readonly type: "address";
            }, {
                readonly name: "initialShortToken";
                readonly type: "address";
            }, {
                readonly name: "longTokenSwapPath";
                readonly type: "address[]";
            }, {
                readonly name: "shortTokenSwapPath";
                readonly type: "address[]";
            }];
        }, {
            readonly name: "numbers";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "marketTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "initialLongTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "initialShortTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "minGlvTokens";
                readonly type: "uint256";
            }, {
                readonly name: "updatedAtTime";
                readonly type: "uint256";
            }, {
                readonly name: "executionFee";
                readonly type: "uint256";
            }, {
                readonly name: "callbackGasLimit";
                readonly type: "uint256";
            }, {
                readonly name: "srcChainId";
                readonly type: "uint256";
            }];
        }, {
            readonly name: "flags";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "shouldUnwrapNativeToken";
                readonly type: "bool";
            }, {
                readonly name: "isMarketTokenDeposit";
                readonly type: "bool";
            }];
        }, {
            readonly name: "_dataList";
            readonly type: "bytes32[]";
        }];
    }];
}, {
    readonly name: "getAccountGlvWithdrawals";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "dataStore";
        readonly type: "address";
    }, {
        readonly name: "account";
        readonly type: "address";
    }, {
        readonly name: "start";
        readonly type: "uint256";
    }, {
        readonly name: "end";
        readonly type: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "tuple[]";
        readonly components: readonly [{
            readonly name: "addresses";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "glv";
                readonly type: "address";
            }, {
                readonly name: "market";
                readonly type: "address";
            }, {
                readonly name: "account";
                readonly type: "address";
            }, {
                readonly name: "receiver";
                readonly type: "address";
            }, {
                readonly name: "callbackContract";
                readonly type: "address";
            }, {
                readonly name: "uiFeeReceiver";
                readonly type: "address";
            }, {
                readonly name: "longTokenSwapPath";
                readonly type: "address[]";
            }, {
                readonly name: "shortTokenSwapPath";
                readonly type: "address[]";
            }];
        }, {
            readonly name: "numbers";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "glvTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "minLongTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "minShortTokenAmount";
                readonly type: "uint256";
            }, {
                readonly name: "updatedAtTime";
                readonly type: "uint256";
            }, {
                readonly name: "executionFee";
                readonly type: "uint256";
            }, {
                readonly name: "callbackGasLimit";
                readonly type: "uint256";
            }, {
                readonly name: "srcChainId";
                readonly type: "uint256";
            }];
        }, {
            readonly name: "flags";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "shouldUnwrapNativeToken";
                readonly type: "bool";
            }];
        }, {
            readonly name: "_dataList";
            readonly type: "bytes32[]";
        }];
    }];
}];
export declare const GmxDataStoreAbi: readonly [{
    readonly name: "getBytes32ValuesAt";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "setKey";
        readonly type: "bytes32";
    }, {
        readonly name: "start";
        readonly type: "uint256";
    }, {
        readonly name: "end";
        readonly type: "uint256";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bytes32[]";
    }];
}];
/** SyntheticsReader + GlvReader pricing views used to value GM/GLV in USD. */
export declare const GmxPricingAbi: readonly [{
    readonly name: "getMarketTokenPrice";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "dataStore";
        readonly type: "address";
    }, {
        readonly name: "market";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "marketToken";
            readonly type: "address";
        }, {
            readonly name: "indexToken";
            readonly type: "address";
        }, {
            readonly name: "longToken";
            readonly type: "address";
        }, {
            readonly name: "shortToken";
            readonly type: "address";
        }];
    }, {
        readonly name: "indexTokenPrice";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "min";
            readonly type: "uint256";
        }, {
            readonly name: "max";
            readonly type: "uint256";
        }];
    }, {
        readonly name: "longTokenPrice";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "min";
            readonly type: "uint256";
        }, {
            readonly name: "max";
            readonly type: "uint256";
        }];
    }, {
        readonly name: "shortTokenPrice";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "min";
            readonly type: "uint256";
        }, {
            readonly name: "max";
            readonly type: "uint256";
        }];
    }, {
        readonly name: "pnlFactorType";
        readonly type: "bytes32";
    }, {
        readonly name: "maximize";
        readonly type: "bool";
    }];
    readonly outputs: readonly [{
        readonly name: "marketTokenPrice";
        readonly type: "int256";
    }, {
        readonly name: "poolValueInfo";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "poolValue";
            readonly type: "int256";
        }, {
            readonly name: "longPnl";
            readonly type: "int256";
        }, {
            readonly name: "shortPnl";
            readonly type: "int256";
        }, {
            readonly name: "netPnl";
            readonly type: "int256";
        }, {
            readonly name: "longTokenAmount";
            readonly type: "uint256";
        }, {
            readonly name: "shortTokenAmount";
            readonly type: "uint256";
        }, {
            readonly name: "longTokenUsd";
            readonly type: "uint256";
        }, {
            readonly name: "shortTokenUsd";
            readonly type: "uint256";
        }, {
            readonly name: "totalBorrowingFees";
            readonly type: "uint256";
        }, {
            readonly name: "borrowingFeePoolFactor";
            readonly type: "uint256";
        }, {
            readonly name: "impactPoolAmount";
            readonly type: "uint256";
        }, {
            readonly name: "lentImpactPoolAmount";
            readonly type: "uint256";
        }];
    }];
}];
export declare const GmxGlvPricingAbi: readonly [{
    readonly name: "getGlvInfo";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "dataStore";
        readonly type: "address";
    }, {
        readonly name: "glv";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "glv";
            readonly type: "tuple";
            readonly components: readonly [{
                readonly name: "glvToken";
                readonly type: "address";
            }, {
                readonly name: "longToken";
                readonly type: "address";
            }, {
                readonly name: "shortToken";
                readonly type: "address";
            }];
        }, {
            readonly name: "markets";
            readonly type: "address[]";
        }];
    }];
}, {
    readonly name: "getGlvTokenPrice";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "dataStore";
        readonly type: "address";
    }, {
        readonly name: "marketAddresses";
        readonly type: "address[]";
    }, {
        readonly name: "indexTokenPrices";
        readonly type: "tuple[]";
        readonly components: readonly [{
            readonly name: "min";
            readonly type: "uint256";
        }, {
            readonly name: "max";
            readonly type: "uint256";
        }];
    }, {
        readonly name: "longTokenPrice";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "min";
            readonly type: "uint256";
        }, {
            readonly name: "max";
            readonly type: "uint256";
        }];
    }, {
        readonly name: "shortTokenPrice";
        readonly type: "tuple";
        readonly components: readonly [{
            readonly name: "min";
            readonly type: "uint256";
        }, {
            readonly name: "max";
            readonly type: "uint256";
        }];
    }, {
        readonly name: "glv";
        readonly type: "address";
    }, {
        readonly name: "maximize";
        readonly type: "bool";
    }];
    readonly outputs: readonly [{
        readonly name: "glvTokenPrice";
        readonly type: "uint256";
    }, {
        readonly name: "glvValue";
        readonly type: "uint256";
    }, {
        readonly name: "glvSupply";
        readonly type: "uint256";
    }];
}];
/** DataStore `getUint` — for the execution-fee gas-limit / multiplier keys. */
export declare const GmxDataStoreUintAbi: readonly [{
    readonly name: "getUint";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "key";
        readonly type: "bytes32";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
}];
export declare const GmxErc20BalanceAbi: readonly [{
    readonly name: "balanceOf";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "account";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
}];
/** GLV token's internally-tracked GM balance per market (the value GMX's
 *  per-market GLV cap is enforced against — not the ERC-20 `balanceOf`). */
export declare const GmxGlvTokenBalancesAbi: readonly [{
    readonly name: "tokenBalances";
    readonly type: "function";
    readonly stateMutability: "view";
    readonly inputs: readonly [{
        readonly name: "token";
        readonly type: "address";
    }];
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
}];
//# sourceMappingURL=abis.d.ts.map