export default InProc;
export type ControllerOptions = import('./types').ControllerOptions;
export type InitOptions = import('./types').InitOptions;
export type Multiaddr = import('@multiformats/multiaddr').Multiaddr;
/**
 * @typedef {import('./types').ControllerOptions} ControllerOptions
 * @typedef {import('./types').InitOptions} InitOptions
 * @typedef {import('@multiformats/multiaddr').Multiaddr} Multiaddr
 */
/**
 * Controller for in process nodes
 */
declare class InProc {
    /**
     * @param {Required<ControllerOptions>} opts
     */
    constructor(opts: Required<ControllerOptions>);
    opts: Required<import("./types").ControllerOptions>;
    path: any;
    initOptions: import("./types").InitOptions;
    disposable: boolean;
    initialized: boolean;
    started: boolean;
    clean: boolean;
    /** @type {Multiaddr} */
    apiAddr: Multiaddr;
    api: any;
    /** @type {import('./types').Subprocess | null} */
    subprocess: import('./types').Subprocess | null;
    /** @type {import('./types').PeerData | null} */
    _peerId: import('./types').PeerData | null;
    get peer(): import("./types").PeerData;
    setExec(): Promise<void>;
    /**
     * @private
     * @param {string} addr
     */
    private _setApi;
    /**
     * Initialize a repo.
     *
     * @param {import('./types').InitOptions} [initOptions={}]
     * @returns {Promise<InProc>}
     */
    init(initOptions?: import("./types").InitOptions | undefined): Promise<InProc>;
    /**
     * Delete the repo that was being used.
     * If the node was marked as `disposable` this will be called
     * automatically when the process is exited.
     *
     * @returns {Promise<InProc>}
     */
    cleanup(): Promise<InProc>;
    /**
     * Start the daemon.
     *
     * @returns {Promise<InProc>}
     */
    start(): Promise<InProc>;
    /**
     * Stop the daemon.
     *
     * @returns {Promise<InProc>}
     */
    stop(): Promise<InProc>;
    /**
     * Get the pid of the `ipfs daemon` process
     *
     * @returns {Promise<number>}
     */
    pid(): Promise<number>;
    /**
     * Get the version of ipfs
     *
     * @returns {Promise<string>}
     */
    version(): Promise<string>;
}
//# sourceMappingURL=ipfsd-in-proc.d.ts.map