import { CanIssueReq, CanIssueResp, Challenge, ChallengeReq, IssueReq, ZkCred } from "./types/index.js";
export declare class HttpClient {
    private readonly issuerDomain;
    constructor(issuerDomain: URL);
    getChallenge<TOut = Challenge, TIn extends ChallengeReq = ChallengeReq>(args: {
        path: string;
        challengeReq: TIn;
        headers?: Record<string, any>;
        method?: string;
    }): Promise<TOut>;
    canIssue<TOut = CanIssueResp, TIn extends CanIssueReq = CanIssueReq>(args: {
        path: string;
        canIssueReq: TIn;
        headers?: Record<string, any>;
        method?: string;
    }): Promise<TOut>;
    issue<TOut = ZkCred, TIn extends IssueReq = IssueReq>(args: {
        path: string;
        issueReq: TIn;
        headers?: Record<string, any>;
        method?: string;
    }): Promise<TOut>;
}
