import { HttpClient } from '../httpClient.js';
import { IssueCashReceiptRequest } from '../types/requestTypes.js';
import { Result } from '../utils/result.js';
import { TossPaymentsError } from '../utils/tossPaymentsError.js';
import { CashReceipt } from '../types/cashReceipt.js';
import { CashReceiptCancelErrorCode, CashReceiptInquiryErrorCode } from '../types/errorTypes.js';
/**
 * 현금영수증 API
 */
export declare class CashReceiptApi {
    private client;
    constructor(client: HttpClient);
    /**
     * 현금영수증 발급
     * @param issueCashReceiptRequest 현금영수증 발급 요청
     * @param idempotencyKey 멱등키
     * @return 현금영수증 정보
     */
    issue(issueCashReceiptRequest: IssueCashReceiptRequest, idempotencyKey?: string): Promise<Result<CashReceipt, TossPaymentsError<string>>>;
    /**
     * 현금영수증 취소
     * @param receiptKey 현금영수증 키
     * @param idempotencyKey 멱등키
     * @return 현금영수증 정보
     */
    cancel(receiptKey: string, idempotencyKey?: string): Promise<Result<CashReceipt, TossPaymentsError<CashReceiptCancelErrorCode>>>;
    /**
     * 현금영수증 조회
     * @param cashReceiptInquiryRequest 현금영수증 조회 요청
     * @return 현금영수증 정보
     */
    inquiry(cashReceiptInquiryRequest: IssueCashReceiptRequest): Promise<Result<{
        hasNext: boolean;
        lastCursor: number;
        data: CashReceipt[];
    }, TossPaymentsError<CashReceiptInquiryErrorCode>>>;
}
