/// import { PublicKey } from '@solana/web3.js'; export declare type Cluster = 'devnet' | 'mainnet' | 'localnet' | 'testnet'; export declare const msrmMints: { devnet: PublicKey; mainnet: PublicKey; localnet: PublicKey; testnet: PublicKey; }; export declare const mngoMints: { devnet: PublicKey; mainnet: PublicKey; testnet: PublicKey; }; export declare const delistedSpotMarkets: { publicKey: PublicKey; name: string; baseSymbol: string; baseDecimals: number; marketIndex: number; }[]; export declare const delistedPerpMarkets: { publicKey: PublicKey; name: string; baseSymbol: string; baseDecimals: number; quoteDecimals: number; marketIndex: number; }[]; export declare const delistedTokens: { mintKey: PublicKey; symbol: string; decimals: number; }[]; export declare const delistedOracles: { publicKey: PublicKey; symbol: string; marketIndex: number; }[]; export interface OracleConfig { symbol: string; publicKey: PublicKey; } export interface SpotMarketConfig { name: string; publicKey: PublicKey; baseSymbol: string; baseDecimals: number; quoteDecimals: number; marketIndex: number; bidsKey: PublicKey; asksKey: PublicKey; eventsKey: PublicKey; } export interface PerpMarketConfig { name: string; publicKey: PublicKey; baseSymbol: string; baseDecimals: number; quoteDecimals: number; marketIndex: number; bidsKey: PublicKey; asksKey: PublicKey; eventsKey: PublicKey; } export interface TokenConfig { symbol: string; mintKey: PublicKey; decimals: number; rootKey: PublicKey; nodeKeys: PublicKey[]; } export interface GroupConfig { cluster: Cluster; name: string; quoteSymbol: string; publicKey: PublicKey; mangoProgramId: PublicKey; serumProgramId: PublicKey; oracles: OracleConfig[]; perpMarkets: PerpMarketConfig[]; spotMarkets: SpotMarketConfig[]; tokens: TokenConfig[]; } export declare function getSpotMarketConfig(group: GroupConfig, predicate: any): SpotMarketConfig | undefined; export declare function getPerpMarketConfig(group: GroupConfig, predicate: any): PerpMarketConfig | undefined; export declare function getTokenConfig(group: GroupConfig, predicate: any): TokenConfig | undefined; export declare function getOracleConfig(group: GroupConfig, predicate: any): OracleConfig | undefined; export declare function getMarketIndexBySymbol(group: GroupConfig, symbol: string): number; export declare function getOracleBySymbol(group: GroupConfig, symbol: string): OracleConfig | undefined; export declare function getPerpMarketByBaseSymbol(group: GroupConfig, symbol: string): PerpMarketConfig | undefined; export declare function getPerpMarketByIndex(group: GroupConfig, marketIndex: number): PerpMarketConfig | undefined; export declare function getSpotMarketByBaseSymbol(group: GroupConfig, symbol: string): SpotMarketConfig | undefined; export declare type MarketKind = 'spot' | 'perp'; export interface MarketConfig { kind: MarketKind; name: string; publicKey: PublicKey; baseSymbol: string; baseDecimals: number; quoteDecimals: number; marketIndex: number; bidsKey: PublicKey; asksKey: PublicKey; eventsKey: PublicKey; } export declare function getAllMarkets(group: GroupConfig): MarketConfig[]; export declare function getMarketByBaseSymbolAndKind(group: GroupConfig, symbol: string, kind: MarketKind): MarketConfig; export declare function getMarketByPublicKey(group: GroupConfig, key: string | Buffer | PublicKey): MarketConfig | undefined; export declare function getTokenByMint(group: GroupConfig, mint: string | Buffer | PublicKey): TokenConfig | undefined; export declare function getTokenBySymbol(group: GroupConfig, symbol: string): TokenConfig; export declare class Config { cluster_urls: Record; groups: GroupConfig[]; constructor(json: any); static ids(): Config; toJson(): any; getGroup(cluster: Cluster, name: string): GroupConfig | undefined; getGroupWithName(name: string): GroupConfig | undefined; storeGroup(group: GroupConfig): void; } //# sourceMappingURL=config.d.ts.map