import { HttpClient } from '../httpClient.js';
import { PaymentWithVirtualAccount } from '../types/paymentType.js';
import { Result } from '../utils/result.js';
import { TossPaymentsError } from '../utils/tossPaymentsError.js';
import { IssueVirtualAccountErrorCode } from '../types/errorTypes.js';
import { IssueVirtualAccountRequest } from '../types/requestTypes.js';
/**
 * 가상계좌 API
 */
export declare class VirtualAccountApi {
    private client;
    constructor(client: HttpClient);
    /**
     * 가상계좌 발급
     * @param issueVirtualAccountRequest 가상계좌 발급 요청
     * @param idempotencyKey 멱등키
     * @return 결제 정보 (가상계좌)
     */
    issue(issueVirtualAccountRequest: IssueVirtualAccountRequest, idempotencyKey?: string): Promise<Result<PaymentWithVirtualAccount, TossPaymentsError<IssueVirtualAccountErrorCode>>>;
}
