import { Checksum256, Checksum256Type } from "../chain/Checksum.js";
import { Logo } from "./Logo.js";
import type { ChainDefinitionType, LogoType } from "./Types.js";
export interface ChainDefinitionArgs {
    id: Checksum256Type;
    name: string;
    endpoint: string;
    hyperion?: string;
    websocket?: string;
    watchdawg?: string;
    namespace: string;
    coreSymbol: string;
    selected?: boolean;
    logo?: LogoType;
}
/**
 * Holds all information for a single chain.
 */
export declare class ChainDefinition {
    id: Checksum256;
    name: string;
    endpoint: string;
    hyperion?: string;
    websocket?: string;
    watchdawg?: string;
    namespace: string;
    coreSymbol: string;
    selected: boolean;
    logo?: LogoType;
    constructor(data: ChainDefinitionArgs);
    static from(data: ChainDefinitionArgs): ChainDefinition;
    /**
     * If you passed a `logo`, returns a Logo instance.
     */
    getLogo(): Logo | undefined;
    /**
     * Two chains are equal if ID+endpoint match.
     */
    equals(def: ChainDefinitionType): boolean;
}
export declare namespace Chains {
    const TESTNET: ChainDefinition;
    const DEVNET: ChainDefinition;
    const MAINNET_CLASSIC: ChainDefinition;
}
//# sourceMappingURL=Chains.d.ts.map