import { InfoAPI } from './rest/info.js';
import { ExchangeAPI } from './rest/exchange.js';
import { CustomOperations } from './rest/custom.js';
import { SymbolConversion } from './utils/symbolConversion.js';
export interface HyperliquidConfig {
    privateKey?: string;
    testnet?: boolean;
    walletAddress?: string;
    vaultAddress?: string;
    maxReconnectAttempts?: number;
}
export declare class Hyperliquid {
    info: InfoAPI;
    exchange: ExchangeAPI;
    custom: CustomOperations;
    symbolConversion: SymbolConversion;
    private rateLimiter;
    private isValidPrivateKey;
    private _initialized;
    private _initializing;
    private vaultAddress?;
    constructor(params?: HyperliquidConfig);
    connect(): Promise<void>;
    private initialize;
    ensureInitialized(): Promise<void>;
    private initializePrivateKey;
    private createAuthenticatedProxy;
    isAuthenticated(): boolean;
    disconnect(): void;
}
export * from './types/index.js';
export * from './utils/signing.js';
//# sourceMappingURL=index.d.ts.map