import type { KuboNode, KuboInfo, KuboInitOptions, KuboOptions, KuboStartOptions, KuboStopOptions } from './index.js';
import type { PeerInfo } from '@libp2p/interface';
import type { KuboRPCClient } from 'kubo-rpc-client';
export interface KuboClientInit extends KuboOptions {
    endpoint: string;
    id: string;
    disposable: boolean;
    repo: string;
}
/**
 * Node for remote nodes
 */
export default class KuboClient implements KuboNode {
    options: KuboOptions & Required<Pick<KuboOptions, 'rpc'>>;
    peerInfo?: PeerInfo;
    id: string;
    disposable: boolean;
    repo: string;
    private readonly endpoint;
    private _api?;
    private readonly initArgs?;
    private readonly startArgs?;
    private readonly stopArgs?;
    constructor(options: KuboClientInit);
    get api(): KuboRPCClient;
    info(): Promise<KuboInfo>;
    init(args?: KuboInitOptions): Promise<void>;
    start(args?: KuboStartOptions): Promise<void>;
    stop(args?: KuboStopOptions): Promise<void>;
    cleanup(): Promise<void>;
}
//# sourceMappingURL=client.d.ts.map