import type { Hedgehog } from '@audius/hedgehog';
import type { Comstock } from '../services/comstock';
import type { CreatorNode } from '../services/creatorNode';
import type { AudiusContracts } from '../services/dataContracts';
import type { DiscoveryProvider } from '../services/discoveryProvider';
import type { EthContracts } from '../services/ethContracts';
import type { EthWeb3Manager } from '../services/ethWeb3Manager';
import type { IdentityService } from '../services/identity';
import type { SolanaWeb3Manager } from '../services/solana';
import type { Web3Manager } from '../services/web3Manager';
import type { Wormhole } from '../services/wormhole';
import type { UserStateManager } from '../userStateManager';
export declare const Services: Readonly<{
    IDENTITY_SERVICE: string;
    HEDGEHOG: string;
    DISCOVERY_PROVIDER: string;
    CREATOR_NODE: string;
    COMSTOCK: string;
    SOLANA_WEB3_MANAGER: string;
}>;
export declare type BaseConstructorArgs = [
    UserStateManager,
    IdentityService,
    Hedgehog,
    DiscoveryProvider,
    Web3Manager,
    AudiusContracts,
    EthWeb3Manager,
    EthContracts,
    SolanaWeb3Manager,
    Wormhole,
    CreatorNode,
    Comstock,
    boolean,
    any
];
export declare class Base {
    userStateManager: UserStateManager;
    identityService: IdentityService;
    hedgehog: Hedgehog;
    discoveryProvider: DiscoveryProvider;
    web3Manager: Web3Manager;
    contracts: AudiusContracts;
    ethWeb3Manager: EthWeb3Manager;
    ethContracts: EthContracts;
    solanaWeb3Manager: SolanaWeb3Manager;
    wormholeClient: Wormhole;
    creatorNode: CreatorNode;
    comstock: Comstock;
    isServer: boolean;
    logger: any;
    _serviceMapping: {
        [service: string]: any;
    };
    constructor(userStateManager: UserStateManager, identityService: IdentityService, hedgehog: Hedgehog, discoveryProvider: DiscoveryProvider, web3Manager: Web3Manager, contracts: AudiusContracts, ethWeb3Manager: EthWeb3Manager, ethContracts: EthContracts, solanaWeb3Manager: SolanaWeb3Manager, wormholeClient: Wormhole, creatorNode: CreatorNode, comstock: Comstock, isServer: boolean, logger?: any);
    REQUIRES(...services: string[]): void;
    IS_OBJECT(o: any): void;
    OBJECT_HAS_PROPS(o: any, props: string[], requiredProps: string[]): void;
    FILE_IS_VALID(file: any): void;
    static _missingService(...serviceNames: string[]): void;
    static _invalidType(type: string): void;
    static _missingProps(props: string[]): void;
    static _missingPropValues(props: string[]): void;
    static _invalidFile(): void;
    static _missingFile(): void;
}
