///
import { PublicKey, TransactionInstruction, TransactionSignature } from '@solana/web3.js';
import { FeeStructure, OracleGuardRails, OracleSource, ExchangeStatus, MarketStatus, ContractTier, AssetTier, SpotFulfillmentConfigStatus } from './types';
import { BN } from '@coral-xyz/anchor';
import { DriftClient } from './driftClient';
export declare class AdminClient extends DriftClient {
initialize(usdcMint: PublicKey, _adminControlsPrices: boolean): Promise<[TransactionSignature]>;
initializeSpotMarket(mint: PublicKey, optimalUtilization: number, optimalRate: number, maxRate: number, oracle: PublicKey, oracleSource: OracleSource, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number, liquidatorFee?: number, ifLiquidationFee?: number, activeStatus?: boolean, assetTier?: {
collateral: {};
}, scaleInitialAssetWeightStart?: BN, withdrawGuardThreshold?: BN, orderTickSize?: BN, orderStepSize?: BN, ifTotalFactor?: number, name?: string, marketIndex?: number): Promise;
getInitializeSpotMarketIx(mint: PublicKey, optimalUtilization: number, optimalRate: number, maxRate: number, oracle: PublicKey, oracleSource: OracleSource, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number, liquidatorFee?: number, ifLiquidationFee?: number, activeStatus?: boolean, assetTier?: {
collateral: {};
}, scaleInitialAssetWeightStart?: BN, withdrawGuardThreshold?: BN, orderTickSize?: BN, orderStepSize?: BN, ifTotalFactor?: number, name?: string, marketIndex?: number): Promise;
deleteInitializedSpotMarket(marketIndex: number): Promise;
getDeleteInitializedSpotMarketIx(marketIndex: number): Promise;
initializeSerumFulfillmentConfig(marketIndex: number, serumMarket: PublicKey, serumProgram: PublicKey): Promise;
getInitializeSerumFulfillmentConfigIx(marketIndex: number, serumMarket: PublicKey, serumProgram: PublicKey): Promise;
initializePhoenixFulfillmentConfig(marketIndex: number, phoenixMarket: PublicKey): Promise;
getInitializePhoenixFulfillmentConfigIx(marketIndex: number, phoenixMarket: PublicKey): Promise;
initializeOpenbookV2FulfillmentConfig(marketIndex: number, openbookMarket: PublicKey): Promise;
getInitializeOpenbookV2FulfillmentConfigIx(marketIndex: number, openbookMarket: PublicKey): Promise;
initializePerpMarket(marketIndex: number, priceOracle: PublicKey, baseAssetReserve: BN, quoteAssetReserve: BN, periodicity: BN, pegMultiplier?: BN, oracleSource?: OracleSource, contractTier?: ContractTier, marginRatioInitial?: number, marginRatioMaintenance?: number, liquidatorFee?: number, ifLiquidatorFee?: number, imfFactor?: number, activeStatus?: boolean, baseSpread?: number, maxSpread?: number, maxOpenInterest?: BN, maxRevenueWithdrawPerPeriod?: BN, quoteMaxInsurance?: BN, orderStepSize?: BN, orderTickSize?: BN, minOrderSize?: BN, concentrationCoefScale?: BN, curveUpdateIntensity?: number, ammJitIntensity?: number, name?: string): Promise;
getInitializePerpMarketIx(marketIndex: number, priceOracle: PublicKey, baseAssetReserve: BN, quoteAssetReserve: BN, periodicity: BN, pegMultiplier?: BN, oracleSource?: OracleSource, contractTier?: ContractTier, marginRatioInitial?: number, marginRatioMaintenance?: number, liquidatorFee?: number, ifLiquidatorFee?: number, imfFactor?: number, activeStatus?: boolean, baseSpread?: number, maxSpread?: number, maxOpenInterest?: BN, maxRevenueWithdrawPerPeriod?: BN, quoteMaxInsurance?: BN, orderStepSize?: BN, orderTickSize?: BN, minOrderSize?: BN, concentrationCoefScale?: BN, curveUpdateIntensity?: number, ammJitIntensity?: number, name?: string): Promise;
initializePredictionMarket(perpMarketIndex: number): Promise;
getInitializePredictionMarketIx(perpMarketIndex: number): Promise;
deleteInitializedPerpMarket(marketIndex: number): Promise;
getDeleteInitializedPerpMarketIx(marketIndex: number): Promise;
moveAmmPrice(perpMarketIndex: number, baseAssetReserve: BN, quoteAssetReserve: BN, sqrtK?: BN): Promise;
getMoveAmmPriceIx(perpMarketIndex: number, baseAssetReserve: BN, quoteAssetReserve: BN, sqrtK?: BN): Promise;
updateK(perpMarketIndex: number, sqrtK: BN): Promise;
getUpdateKIx(perpMarketIndex: number, sqrtK: BN): Promise;
recenterPerpMarketAmm(perpMarketIndex: number, pegMultiplier: BN, sqrtK: BN): Promise;
getRecenterPerpMarketAmmIx(perpMarketIndex: number, pegMultiplier: BN, sqrtK: BN): Promise;
updatePerpMarketConcentrationScale(perpMarketIndex: number, concentrationScale: BN): Promise;
getUpdatePerpMarketConcentrationScaleIx(perpMarketIndex: number, concentrationScale: BN): Promise;
moveAmmToPrice(perpMarketIndex: number, targetPrice: BN): Promise;
getMoveAmmToPriceIx(perpMarketIndex: number, targetPrice: BN): Promise;
repegAmmCurve(newPeg: BN, perpMarketIndex: number): Promise;
getRepegAmmCurveIx(newPeg: BN, perpMarketIndex: number): Promise;
updatePerpMarketAmmOracleTwap(perpMarketIndex: number): Promise;
getUpdatePerpMarketAmmOracleTwapIx(perpMarketIndex: number): Promise;
resetPerpMarketAmmOracleTwap(perpMarketIndex: number): Promise;
getResetPerpMarketAmmOracleTwapIx(perpMarketIndex: number): Promise;
depositIntoPerpMarketFeePool(perpMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise;
getDepositIntoPerpMarketFeePoolIx(perpMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise;
depositIntoSpotMarketVault(spotMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise;
getDepositIntoSpotMarketVaultIx(spotMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise;
updateAdmin(admin: PublicKey): Promise;
getUpdateAdminIx(admin: PublicKey): Promise;
updatePerpMarketCurveUpdateIntensity(perpMarketIndex: number, curveUpdateIntensity: number): Promise;
getUpdatePerpMarketCurveUpdateIntensityIx(perpMarketIndex: number, curveUpdateIntensity: number): Promise;
updatePerpMarketTargetBaseAssetAmountPerLp(perpMarketIndex: number, targetBaseAssetAmountPerLP: number): Promise;
updatePerpMarketAmmSummaryStats(perpMarketIndex: number, updateAmmSummaryStats?: boolean, quoteAssetAmountWithUnsettledLp?: BN, netUnsettledFundingPnl?: BN): Promise;
getUpdatePerpMarketAmmSummaryStatsIx(perpMarketIndex: number, updateAmmSummaryStats?: boolean, quoteAssetAmountWithUnsettledLp?: BN, netUnsettledFundingPnl?: BN): Promise;
getUpdatePerpMarketTargetBaseAssetAmountPerLpIx(perpMarketIndex: number, targetBaseAssetAmountPerLP: number): Promise;
updatePerpMarketMarginRatio(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise;
getUpdatePerpMarketMarginRatioIx(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise;
updatePerpMarketHighLeverageMarginRatio(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise;
getUpdatePerpMarketHighLeverageMarginRatioIx(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise;
updatePerpMarketImfFactor(perpMarketIndex: number, imfFactor: number, unrealizedPnlImfFactor: number): Promise;
getUpdatePerpMarketImfFactorIx(perpMarketIndex: number, imfFactor: number, unrealizedPnlImfFactor: number): Promise;
updatePerpMarketBaseSpread(perpMarketIndex: number, baseSpread: number): Promise;
getUpdatePerpMarketBaseSpreadIx(perpMarketIndex: number, baseSpread: number): Promise;
updateAmmJitIntensity(perpMarketIndex: number, ammJitIntensity: number): Promise;
getUpdateAmmJitIntensityIx(perpMarketIndex: number, ammJitIntensity: number): Promise;
updatePerpMarketName(perpMarketIndex: number, name: string): Promise;
getUpdatePerpMarketNameIx(perpMarketIndex: number, name: string): Promise;
updateSpotMarketName(spotMarketIndex: number, name: string): Promise;
getUpdateSpotMarketNameIx(spotMarketIndex: number, name: string): Promise;
updatePerpMarketPerLpBase(perpMarketIndex: number, perLpBase: number): Promise;
getUpdatePerpMarketPerLpBaseIx(perpMarketIndex: number, perLpBase: number): Promise;
updatePerpMarketMaxSpread(perpMarketIndex: number, maxSpread: number): Promise;
getUpdatePerpMarketMaxSpreadIx(perpMarketIndex: number, maxSpread: number): Promise;
updatePerpFeeStructure(feeStructure: FeeStructure): Promise;
getUpdatePerpFeeStructureIx(feeStructure: FeeStructure): Promise;
updateSpotFeeStructure(feeStructure: FeeStructure): Promise;
getUpdateSpotFeeStructureIx(feeStructure: FeeStructure): Promise;
updateInitialPctToLiquidate(initialPctToLiquidate: number): Promise;
getUpdateInitialPctToLiquidateIx(initialPctToLiquidate: number): Promise;
updateLiquidationDuration(liquidationDuration: number): Promise;
getUpdateLiquidationDurationIx(liquidationDuration: number): Promise;
updateLiquidationMarginBufferRatio(updateLiquidationMarginBufferRatio: number): Promise;
getUpdateLiquidationMarginBufferRatioIx(updateLiquidationMarginBufferRatio: number): Promise;
updateOracleGuardRails(oracleGuardRails: OracleGuardRails): Promise;
getUpdateOracleGuardRailsIx(oracleGuardRails: OracleGuardRails): Promise;
updateStateSettlementDuration(settlementDuration: number): Promise;
getUpdateStateSettlementDurationIx(settlementDuration: number): Promise;
updateStateMaxNumberOfSubAccounts(maxNumberOfSubAccounts: number): Promise;
getUpdateStateMaxNumberOfSubAccountsIx(maxNumberOfSubAccounts: number): Promise;
updateStateMaxInitializeUserFee(maxInitializeUserFee: number): Promise;
getUpdateStateMaxInitializeUserFeeIx(maxInitializeUserFee: number): Promise;
updateWithdrawGuardThreshold(spotMarketIndex: number, withdrawGuardThreshold: BN): Promise;
getUpdateWithdrawGuardThresholdIx(spotMarketIndex: number, withdrawGuardThreshold: BN): Promise;
updateSpotMarketIfFactor(spotMarketIndex: number, userIfFactor: BN, totalIfFactor: BN): Promise;
getUpdateSpotMarketIfFactorIx(spotMarketIndex: number, userIfFactor: BN, totalIfFactor: BN): Promise;
updateSpotMarketRevenueSettlePeriod(spotMarketIndex: number, revenueSettlePeriod: BN): Promise;
getUpdateSpotMarketRevenueSettlePeriodIx(spotMarketIndex: number, revenueSettlePeriod: BN): Promise;
updateSpotMarketMaxTokenDeposits(spotMarketIndex: number, maxTokenDeposits: BN): Promise;
getUpdateSpotMarketMaxTokenDepositsIx(spotMarketIndex: number, maxTokenDeposits: BN): Promise;
updateSpotMarketMaxTokenBorrows(spotMarketIndex: number, maxTokenBorrowsFraction: number): Promise;
getUpdateSpotMarketMaxTokenBorrowsIx(spotMarketIndex: number, maxTokenBorrowsFraction: number): Promise;
updateSpotMarketScaleInitialAssetWeightStart(spotMarketIndex: number, scaleInitialAssetWeightStart: BN): Promise;
getUpdateSpotMarketScaleInitialAssetWeightStartIx(spotMarketIndex: number, scaleInitialAssetWeightStart: BN): Promise;
updateInsuranceFundUnstakingPeriod(spotMarketIndex: number, insuranceWithdrawEscrowPeriod: BN): Promise;
getUpdateInsuranceFundUnstakingPeriodIx(spotMarketIndex: number, insuranceWithdrawEscrowPeriod: BN): Promise;
updateLpCooldownTime(cooldownTime: BN): Promise;
getUpdateLpCooldownTimeIx(cooldownTime: BN): Promise;
updatePerpMarketOracle(perpMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource): Promise;
getUpdatePerpMarketOracleIx(perpMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource): Promise;
updatePerpMarketStepSizeAndTickSize(perpMarketIndex: number, stepSize: BN, tickSize: BN): Promise;
getUpdatePerpMarketStepSizeAndTickSizeIx(perpMarketIndex: number, stepSize: BN, tickSize: BN): Promise;
updatePerpMarketMinOrderSize(perpMarketIndex: number, orderSize: BN): Promise;
getUpdatePerpMarketMinOrderSizeIx(perpMarketIndex: number, orderSize: BN): Promise;
updateSpotMarketStepSizeAndTickSize(spotMarketIndex: number, stepSize: BN, tickSize: BN): Promise;
getUpdateSpotMarketStepSizeAndTickSizeIx(spotMarketIndex: number, stepSize: BN, tickSize: BN): Promise;
updateSpotMarketMinOrderSize(spotMarketIndex: number, orderSize: BN): Promise;
getUpdateSpotMarketMinOrderSizeIx(spotMarketIndex: number, orderSize: BN): Promise;
updatePerpMarketExpiry(perpMarketIndex: number, expiryTs: BN): Promise;
getUpdatePerpMarketExpiryIx(perpMarketIndex: number, expiryTs: BN): Promise;
updateSpotMarketOracle(spotMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource): Promise;
getUpdateSpotMarketOracleIx(spotMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource): Promise;
updateSpotMarketOrdersEnabled(spotMarketIndex: number, ordersEnabled: boolean): Promise;
getUpdateSpotMarketOrdersEnabledIx(spotMarketIndex: number, ordersEnabled: boolean): Promise;
updateSpotMarketIfPausedOperations(spotMarketIndex: number, pausedOperations: number): Promise;
getUpdateSpotMarketIfPausedOperationsIx(spotMarketIndex: number, pausedOperations: number): Promise;
updateSerumFulfillmentConfigStatus(serumFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise;
getUpdateSerumFulfillmentConfigStatusIx(serumFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise;
updatePhoenixFulfillmentConfigStatus(phoenixFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise;
getUpdatePhoenixFulfillmentConfigStatusIx(phoenixFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise;
updateSpotMarketExpiry(spotMarketIndex: number, expiryTs: BN): Promise;
getUpdateSpotMarketExpiryIx(spotMarketIndex: number, expiryTs: BN): Promise;
updateWhitelistMint(whitelistMint?: PublicKey): Promise;
getUpdateWhitelistMintIx(whitelistMint?: PublicKey): Promise;
updateDiscountMint(discountMint: PublicKey): Promise;
getUpdateDiscountMintIx(discountMint: PublicKey): Promise;
updateSpotMarketMarginWeights(spotMarketIndex: number, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number): Promise;
getUpdateSpotMarketMarginWeightsIx(spotMarketIndex: number, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number): Promise;
updateSpotMarketBorrowRate(spotMarketIndex: number, optimalUtilization: number, optimalBorrowRate: number, optimalMaxRate: number, minBorrowRate?: number | undefined): Promise;
getUpdateSpotMarketBorrowRateIx(spotMarketIndex: number, optimalUtilization: number, optimalBorrowRate: number, optimalMaxRate: number, minBorrowRate?: number | undefined): Promise;
updateSpotMarketAssetTier(spotMarketIndex: number, assetTier: AssetTier): Promise;
getUpdateSpotMarketAssetTierIx(spotMarketIndex: number, assetTier: AssetTier): Promise;
updateSpotMarketStatus(spotMarketIndex: number, marketStatus: MarketStatus): Promise;
getUpdateSpotMarketStatusIx(spotMarketIndex: number, marketStatus: MarketStatus): Promise;
updateSpotMarketPausedOperations(spotMarketIndex: number, pausedOperations: number): Promise;
getUpdateSpotMarketPausedOperationsIx(spotMarketIndex: number, pausedOperations: number): Promise;
updatePerpMarketStatus(perpMarketIndex: number, marketStatus: MarketStatus): Promise;
getUpdatePerpMarketStatusIx(perpMarketIndex: number, marketStatus: MarketStatus): Promise;
updatePerpMarketPausedOperations(perpMarketIndex: number, pausedOperations: number): Promise;
getUpdatePerpMarketPausedOperationsIx(perpMarketIndex: number, pausedOperations: number): Promise;
updatePerpMarketContractTier(perpMarketIndex: number, contractTier: ContractTier): Promise;
getUpdatePerpMarketContractTierIx(perpMarketIndex: number, contractTier: ContractTier): Promise;
updateExchangeStatus(exchangeStatus: ExchangeStatus): Promise;
getUpdateExchangeStatusIx(exchangeStatus: ExchangeStatus): Promise;
updatePerpAuctionDuration(minDuration: BN | number): Promise;
getUpdatePerpAuctionDurationIx(minDuration: BN | number): Promise;
updateSpotAuctionDuration(defaultAuctionDuration: number): Promise;
getUpdateSpotAuctionDurationIx(defaultAuctionDuration: number): Promise;
updatePerpMarketMaxFillReserveFraction(perpMarketIndex: number, maxBaseAssetAmountRatio: number): Promise;
getUpdatePerpMarketMaxFillReserveFractionIx(perpMarketIndex: number, maxBaseAssetAmountRatio: number): Promise;
updateMaxSlippageRatio(perpMarketIndex: number, maxSlippageRatio: number): Promise;
getUpdateMaxSlippageRatioIx(perpMarketIndex: number, maxSlippageRatio: number): Promise;
updatePerpMarketUnrealizedAssetWeight(perpMarketIndex: number, unrealizedInitialAssetWeight: number, unrealizedMaintenanceAssetWeight: number): Promise;
getUpdatePerpMarketUnrealizedAssetWeightIx(perpMarketIndex: number, unrealizedInitialAssetWeight: number, unrealizedMaintenanceAssetWeight: number): Promise;
updatePerpMarketMaxImbalances(perpMarketIndex: number, unrealizedMaxImbalance: BN, maxRevenueWithdrawPerPeriod: BN, quoteMaxInsurance: BN): Promise;
getUpdatePerpMarketMaxImbalancesIx(perpMarketIndex: number, unrealizedMaxImbalance: BN, maxRevenueWithdrawPerPeriod: BN, quoteMaxInsurance: BN): Promise;
updatePerpMarketMaxOpenInterest(perpMarketIndex: number, maxOpenInterest: BN): Promise;
getUpdatePerpMarketMaxOpenInterestIx(perpMarketIndex: number, maxOpenInterest: BN): Promise;
updatePerpMarketNumberOfUser(perpMarketIndex: number, numberOfUsers?: number, numberOfUsersWithBase?: number): Promise;
getUpdatePerpMarketNumberOfUsersIx(perpMarketIndex: number, numberOfUsers?: number, numberOfUsersWithBase?: number): Promise;
updatePerpMarketFeeAdjustment(perpMarketIndex: number, feeAdjustment: number): Promise;
getUpdatePerpMarketFeeAdjustmentIx(perpMarketIndex: number, feeAdjustment: number): Promise;
updateSpotMarketFeeAdjustment(perpMarketIndex: number, feeAdjustment: number): Promise;
getUpdateSpotMarketFeeAdjustmentIx(spotMarketIndex: number, feeAdjustment: number): Promise;
updateSerumVault(srmVault: PublicKey): Promise;
getUpdateSerumVaultIx(srmVault: PublicKey): Promise;
updatePerpMarketLiquidationFee(perpMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise;
getUpdatePerpMarketLiquidationFeeIx(perpMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise;
updateSpotMarketLiquidationFee(spotMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise;
getUpdateSpotMarketLiquidationFeeIx(spotMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise;
initializeProtocolIfSharesTransferConfig(): Promise;
getInitializeProtocolIfSharesTransferConfigIx(): Promise;
updateProtocolIfSharesTransferConfig(whitelistedSigners?: PublicKey[], maxTransferPerEpoch?: BN): Promise;
getUpdateProtocolIfSharesTransferConfigIx(whitelistedSigners?: PublicKey[], maxTransferPerEpoch?: BN): Promise;
initializePrelaunchOracle(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise;
getInitializePrelaunchOracleIx(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise;
updatePrelaunchOracleParams(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise;
getUpdatePrelaunchOracleParamsIx(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise;
deletePrelaunchOracle(perpMarketIndex: number): Promise;
getDeletePrelaunchOracleIx(perpMarketIndex: number, price?: BN, maxPrice?: BN): Promise;
updateSpotMarketFuel(spotMarketIndex: number, fuelBoostDeposits?: number, fuelBoostBorrows?: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostInsurance?: number): Promise;
getUpdateSpotMarketFuelIx(spotMarketIndex: number, fuelBoostDeposits?: number, fuelBoostBorrows?: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostInsurance?: number): Promise;
updatePerpMarketFuel(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise;
getUpdatePerpMarketFuelIx(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise;
initUserFuel(user: PublicKey, authority: PublicKey, fuelBonusDeposits?: number, fuelBonusBorrows?: number, fuelBonusTaker?: number, fuelBonusMaker?: number, fuelBonusInsurance?: number): Promise;
getInitUserFuelIx(user: PublicKey, authority: PublicKey, fuelBonusDeposits?: number, fuelBonusBorrows?: number, fuelBonusTaker?: number, fuelBonusMaker?: number, fuelBonusInsurance?: number): Promise;
initializePythPullOracle(feedId: string): Promise;
getInitializePythPullOracleIx(feedId: string): Promise;
initializeHighLeverageModeConfig(maxUsers: number): Promise;
getInitializeHighLeverageModeConfigIx(maxUsers: number): Promise;
updateUpdateHighLeverageModeConfig(maxUsers: number, reduceOnly: boolean): Promise;
getUpdateHighLeverageModeConfigIx(maxUsers: number, reduceOnly: boolean): Promise;
}