import { InitResponse } from '../../proto/api';
import { IAttestorClient, IAttestorClientCreateOpts, RPCRequestData, RPCResponseData, RPCType } from '../../types';
import { AttestorSocket } from '../../utils/socket-base';
export declare class AttestorClient extends AttestorSocket implements IAttestorClient {
    private waitForInitPromise;
    initResponse?: InitResponse;
    constructor({ url, initMessages, signatureType, logger, authRequest, makeWebSocket }: IAttestorClientCreateOpts);
    rpc<T extends RPCType>(type: T, request: Partial<RPCRequestData<T>>): Promise<Exclude<import("../../proto/api").RPCMessage[`${T}Response`], undefined>>;
    waitForResponse<T extends RPCType>(id: number): Promise<RPCResponseData<T>>;
    waitForInit: () => Promise<void>;
}
