/// import { PublicKey, 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, activeStatus?: boolean, name?: string): Promise; initializeSerumFulfillmentConfig(marketIndex: number, serumMarket: PublicKey, serumProgram: PublicKey): Promise; initializePhoenixFulfillmentConfig(marketIndex: number, phoenixMarket: PublicKey): Promise; initializePerpMarket(marketIndex: number, priceOracle: PublicKey, baseAssetReserve: BN, quoteAssetReserve: BN, periodicity: BN, pegMultiplier?: BN, oracleSource?: OracleSource, marginRatioInitial?: number, marginRatioMaintenance?: number, liquidatorFee?: number, activeStatus?: boolean, name?: string): Promise; deleteInitializedPerpMarket(marketIndex: number): Promise; moveAmmPrice(perpMarketIndex: number, baseAssetReserve: BN, quoteAssetReserve: BN, sqrtK?: BN): Promise; updateK(perpMarketIndex: number, sqrtK: BN): Promise; recenterPerpMarketAmm(perpMarketIndex: number, pegMultiplier: BN, sqrtK: BN): Promise; updatePerpMarketConcentrationScale(perpMarketIndex: number, concentrationScale: BN): Promise; moveAmmToPrice(perpMarketIndex: number, targetPrice: BN): Promise; repegAmmCurve(newPeg: BN, perpMarketIndex: number): Promise; updatePerpMarketAmmOracleTwap(perpMarketIndex: number): Promise; resetPerpMarketAmmOracleTwap(perpMarketIndex: number): Promise; depositIntoPerpMarketFeePool(perpMarketIndex: number, amount: BN, sourceVault: PublicKey): Promise; updateAdmin(admin: PublicKey): Promise; updatePerpMarketCurveUpdateIntensity(perpMarketIndex: number, curveUpdateIntensity: number): Promise; updatePerpMarketTargetBaseAssetAmountPerLp(perpMarketIndex: number, targetBaseAssetAmountPerLP: number): Promise; updatePerpMarketMarginRatio(perpMarketIndex: number, marginRatioInitial: number, marginRatioMaintenance: number): Promise; updatePerpMarketImfFactor(perpMarketIndex: number, imfFactor: number, unrealizedPnlImfFactor: number): Promise; updatePerpMarketBaseSpread(perpMarketIndex: number, baseSpread: number): Promise; updateAmmJitIntensity(perpMarketIndex: number, ammJitIntensity: number): Promise; updatePerpMarketName(perpMarketIndex: number, name: string): Promise; updateSpotMarketName(spotMarketIndex: number, name: string): Promise; updatePerpMarketPerLpBase(perpMarketIndex: number, perLpBase: number): Promise; updatePerpMarketMaxSpread(perpMarketIndex: number, maxSpread: number): Promise; updatePerpFeeStructure(feeStructure: FeeStructure): Promise; updateSpotFeeStructure(feeStructure: FeeStructure): Promise; updateInitialPctToLiquidate(initialPctToLiquidate: number): Promise; updateLiquidationDuration(liquidationDuration: number): Promise; updateLiquidationMarginBufferRatio(updateLiquidationMarginBufferRatio: number): Promise; updateOracleGuardRails(oracleGuardRails: OracleGuardRails): Promise; updateStateSettlementDuration(settlementDuration: number): Promise; updateStateMaxNumberOfSubAccounts(maxNumberOfSubAccounts: number): Promise; updateStateMaxInitializeUserFee(maxInitializeUserFee: number): Promise; updateWithdrawGuardThreshold(spotMarketIndex: number, withdrawGuardThreshold: BN): Promise; updateSpotMarketIfFactor(spotMarketIndex: number, userIfFactor: BN, totalIfFactor: BN): Promise; updateSpotMarketRevenueSettlePeriod(spotMarketIndex: number, revenueSettlePeriod: BN): Promise; updateSpotMarketMaxTokenDeposits(spotMarketIndex: number, maxTokenDeposits: BN): Promise; updateSpotMarketScaleInitialAssetWeightStart(spotMarketIndex: number, scaleInitialAssetWeightStart: BN): Promise; updateInsuranceFundUnstakingPeriod(spotMarketIndex: number, insuranceWithdrawEscrowPeriod: BN): Promise; updateLpCooldownTime(cooldownTime: BN): Promise; updatePerpMarketOracle(perpMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource): Promise; updatePerpMarketStepSizeAndTickSize(perpMarketIndex: number, stepSize: BN, tickSize: BN): Promise; updatePerpMarketMinOrderSize(perpMarketIndex: number, orderSize: BN): Promise; updateSpotMarketStepSizeAndTickSize(spotMarketIndex: number, stepSize: BN, tickSize: BN): Promise; updateSpotMarketMinOrderSize(spotMarketIndex: number, orderSize: BN): Promise; updatePerpMarketExpiry(perpMarketIndex: number, expiryTs: BN): Promise; updateSpotMarketOracle(spotMarketIndex: number, oracle: PublicKey, oracleSource: OracleSource): Promise; updateSpotMarketOrdersEnabled(spotMarketIndex: number, ordersEnabled: boolean): Promise; updateSerumFulfillmentConfigStatus(serumFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise; updatePhoenixFulfillmentConfigStatus(phoenixFulfillmentConfig: PublicKey, status: SpotFulfillmentConfigStatus): Promise; updateSpotMarketExpiry(spotMarketIndex: number, expiryTs: BN): Promise; updateWhitelistMint(whitelistMint?: PublicKey): Promise; updateDiscountMint(discountMint: PublicKey): Promise; updateSpotMarketMarginWeights(spotMarketIndex: number, initialAssetWeight: number, maintenanceAssetWeight: number, initialLiabilityWeight: number, maintenanceLiabilityWeight: number, imfFactor?: number): Promise; updateSpotMarketBorrowRate(spotMarketIndex: number, optimalUtilization: number, optimalBorrowRate: number, optimalMaxRate: number): Promise; updateSpotMarketAssetTier(spotMarketIndex: number, assetTier: AssetTier): Promise; updateSpotMarketStatus(spotMarketIndex: number, marketStatus: MarketStatus): Promise; updateSpotMarketPausedOperations(spotMarketIndex: number, pausedOperations: number): Promise; updatePerpMarketStatus(perpMarketIndex: number, marketStatus: MarketStatus): Promise; updatePerpMarketPausedOperations(perpMarketIndex: number, pausedOperations: number): Promise; updatePerpMarketContractTier(perpMarketIndex: number, contractTier: ContractTier): Promise; updateExchangeStatus(exchangeStatus: ExchangeStatus): Promise; updatePerpAuctionDuration(minDuration: BN | number): Promise; updateSpotAuctionDuration(defaultAuctionDuration: number): Promise; updatePerpMarketMaxFillReserveFraction(perpMarketIndex: number, maxBaseAssetAmountRatio: number): Promise; updateMaxSlippageRatio(perpMarketIndex: number, maxSlippageRatio: number): Promise; updatePerpMarketUnrealizedAssetWeight(perpMarketIndex: number, unrealizedInitialAssetWeight: number, unrealizedMaintenanceAssetWeight: number): Promise; updatePerpMarketMaxImbalances(perpMarketIndex: number, unrealizedMaxImbalance: BN, maxRevenueWithdrawPerPeriod: BN, quoteMaxInsurance: BN): Promise; updatePerpMarketMaxOpenInterest(perpMarketIndex: number, maxOpenInterest: BN): Promise; updatePerpMarketFeeAdjustment(perpMarketIndex: number, feeAdjustment: number): Promise; updateSerumVault(srmVault: PublicKey): Promise; updatePerpMarketLiquidationFee(perpMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise; updateSpotMarketLiquidationFee(spotMarketIndex: number, liquidatorFee: number, ifLiquidationFee: number): Promise; initializeProtocolIfSharesTransferConfig(): Promise; updateProtocolIfSharesTransferConfig(whitelistedSigners?: PublicKey[], maxTransferPerEpoch?: BN): Promise; }