import type { Transaction } from '@onelabs/sui/transactions'; import type { CreatePoolAdminParams } from '../types/index.js'; import type { DeepBookConfig } from '../utils/config.js'; /** * DeepBookAdminContract class for managing admin actions. */ export declare class DeepBookAdminContract { #private; /** * @param {DeepBookConfig} config Configuration for DeepBookAdminContract */ constructor(config: DeepBookConfig); /** * @description Create a new pool as admin * @param {CreatePoolAdminParams} params Parameters for creating pool as admin * @returns A function that takes a Transaction object */ createPoolAdmin: (params: CreatePoolAdminParams) => (tx: Transaction) => void; /** * @description Unregister a pool as admin * @param {string} poolKey The key of the pool to be unregistered by admin * @returns A function that takes a Transaction object */ unregisterPoolAdmin: (poolKey: string) => (tx: Transaction) => void; /** * @description Update the allowed versions for a pool * @param {string} poolKey The key of the pool to be updated * @returns A function that takes a Transaction object */ updateAllowedVersions: (poolKey: string) => (tx: Transaction) => void; /** * @description Enable a specific version * @param {number} version The version to be enabled * @returns A function that takes a Transaction object */ enableVersion: (version: number) => (tx: Transaction) => void; /** * @description Disable a specific version * @param {number} version The version to be disabled * @returns A function that takes a Transaction object */ disableVersion: (version: number) => (tx: Transaction) => void; /** * @description Sets the treasury address where pool creation fees will be sent * @param {string} treasuryAddress The treasury address * @returns A function that takes a Transaction object */ setTreasuryAddress: (treasuryAddress: string) => (tx: Transaction) => void; /** * @description Add a coin to whitelist of stable coins * @param {string} stableCoinKey The name of the stable coin to be added * @returns A function that takes a Transaction object */ addStableCoin: (stableCoinKey: string) => (tx: Transaction) => void; /** * @description Remove a coin from whitelist of stable coins * @param {string} stableCoinKey The name of the stable coin to be removed * @returns A function that takes a Transaction object */ removeStableCoin: (stableCoinKey: string) => (tx: Transaction) => void; }