import { CachingMechanismInterface } from "../../interfaces";
import { Struct } from "superstruct";
import winston from "winston";
export declare class PinataIPFSClient implements CachingMechanismInterface {
    private client;
    private publicGatewayURL;
    private logger?;
    constructor(projectId: string, projectSecret: string, publicGatewayURL: string, logger?: winston.Logger);
    get<ObjectType>(key?: string, _structValidator?: Struct<unknown, unknown>): Promise<ObjectType | null>;
    set<T>(key: string, value: T): Promise<string | undefined>;
    sub(_topic: string, _callback: (message: string, channel: string) => unknown): Promise<number>;
    pub(_topic: string, _message: string): Promise<number>;
}
