export = Service;
/**
 * @typedef {import('../../types').Options} Options
 * @typedef {import('ipfs-core-types/src/utils').AbortOptions} AbortOptions
 * @typedef {import('ipfs-core-types/src/pin/remote/service').Credentials} Credentials
 * @typedef {import('ipfs-core-types/src/pin/remote/service').RemotePinService} RemotePinService
 * @typedef {import('ipfs-core-types/src/pin/remote/service').RemotePinServiceWithStat} RemotePinServiceWithStat
 * @typedef {import('../../types').HTTPClientExtraOptions} HTTPClientExtraOptions
 * @typedef {import('ipfs-core-types/src/pin/remote/service').API<HTTPClientExtraOptions>} RemotePiningServiceAPI
 * @typedef {import('ipfs-core-types/src/pin/remote/service').Stat} Stat
 */
declare class Service {
    /**
     * @param {URL} url
     */
    static encodeEndpoint(url: URL): string;
    /**
     * @param {any} json
     * @returns {RemotePinServiceWithStat}
     */
    static decodeRemoteService(json: any): RemotePinServiceWithStat;
    /**
     * @param {any} json
     * @returns {import('ipfs-core-types/src/pin/remote/service').Stat}
     */
    static decodeStat(json: any): import('ipfs-core-types/src/pin/remote/service').Stat;
    /**
     * @param {Options} options
     */
    constructor(options: Options);
    client: Client;
    add(name: string, credentials: import("ipfs-core-types/src/pin/remote/service").Credentials & import("ipfs-core-types/src/utils").AbortOptions & import("../../types").HTTPClientExtraOptions): Promise<void>;
    rm(name: string, options?: (import("ipfs-core-types/src/utils").AbortOptions & import("../../types").HTTPClientExtraOptions) | undefined): Promise<void>;
    ls(options: {
        stat: true;
    } & import("ipfs-core-types/src/utils").AbortOptions & import("../../types").HTTPClientExtraOptions): Promise<import("ipfs-core-types/src/pin/remote/service").RemotePinServiceWithStat[]>;
    ls(options?: (import("ipfs-core-types/src/utils").AbortOptions & import("../../types").HTTPClientExtraOptions) | undefined): Promise<import("ipfs-core-types/src/pin/remote/service").RemotePinService[]>;
}
declare namespace Service {
    export { Options, AbortOptions, Credentials, RemotePinService, RemotePinServiceWithStat, HTTPClientExtraOptions, RemotePiningServiceAPI, Stat };
}
import Client = require("../../lib/core");
type RemotePinServiceWithStat = import('ipfs-core-types/src/pin/remote/service').RemotePinServiceWithStat;
type Options = import('../../types').Options;
type AbortOptions = import('ipfs-core-types/src/utils').AbortOptions;
type Credentials = import('ipfs-core-types/src/pin/remote/service').Credentials;
type RemotePinService = import('ipfs-core-types/src/pin/remote/service').RemotePinService;
type HTTPClientExtraOptions = import('../../types').HTTPClientExtraOptions;
type RemotePiningServiceAPI = import('ipfs-core-types/src/pin/remote/service').API<HTTPClientExtraOptions>;
type Stat = import('ipfs-core-types/src/pin/remote/service').Stat;
//# sourceMappingURL=service.d.ts.map