import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'; import { Protocol } from '../types'; import { PlatformContracts } from '../types/PlatformContracts'; /** * The Admin contract is a contract that governs the storing and migration process of all smart contracts on the blockchain. * * Usage: * * ```ts * import { NolusClient, NolusContracts } from '@nolus/nolusjs'; * * const cosm = await NolusClient.getInstance().getCosmWasmClient(); * adminInstance = new NolusContracts.Admin(cosm, adminContractAddress); * ``` * */ export declare class Admin { private cosmWasmClient; private _contractAddress; constructor(cosmWasmClient: CosmWasmClient, contractAddress: string); /** * Retrieves all registered protocol identifiers supported by the platform. * * Each protocol entry represents a unique configuration for a network + DEX + LPN asset * (e.g. "OSMOSIS-OSMOSIS-ATOM" or "NEUTRON-ASTROPORT-USDC_NOBLE"). * * @returns A `Promise` resolving to: * - An array of protocol identifiers (strings). */ getProtocols(): Promise; /** * Retrieves detailed configuration for a specific protocol. * * The response includes the associated network and DEX, as well as the addresses * of all relevant contracts used by that protocol (leaser, LPP, oracle, etc.). * * @param protocol - The protocol identifier string (e.g. "OSMOSIS-OSMOSIS-USDC_NOBLE"). * * @returns A `Promise` resolving to: * - An object containing the network, DEX name, and contract addresses. */ getProtocol(protocol: string): Promise; /** * Retrieves the global platform-level contract addresses. * * These are shared across all protocols and include system-level contracts like: * - `timealarms`: Contract handling time-based triggers * - `treasury`: The Treasury contract managing incentive and reserve flows * * @returns A `Promise` resolving to: * - An object with platform-wide contract addresses. */ getPlatform(): Promise; }