import { HttpClient } from '../core/httpClient';
import { type CreditCardPaymentRequest, type CreditCardPaymentResponse } from '../models/paymentTypes';
import type { PixPaymentRequest, PixPaymentResponse } from '../models/pixTypes';
import type { TokenizedPaymentRequest } from '../models/tokenizedPaymentTypes';
/**
 * Serviço para criar pagamentos via API Cielo E-commerce.
 */
export declare class PaymentService {
    private readonly httpClient;
    private readonly salesBasePath;
    constructor(httpClient: HttpClient);
    /**
     * Cria uma nova transação de pagamento com Cartão de Crédito.
     * Corresponde à operação 'criar-pagamento-credito' (POST /1/sales/).
     *
     * @param payload Os dados do pagamento (pedido, cliente, detalhes do pagamento).
     * @returns Uma Promise que resolve com os detalhes da transação criada (CreditCardPaymentResponse).
     * @throws {CieloApiError | CieloNetworkError} Em caso de falha na comunicação ou erro da API.
     */
    createCreditCardPayment(payload: CreditCardPaymentRequest): Promise<CreditCardPaymentResponse>;
    /**
     * Cria uma nova transação de pagamento com Cartão de Crédito (USANDO TOKEN).
     * Corresponde à operação 'cartao-tokenizado-api' (POST /1/sales/ com CardToken).
     *
     * @param payload Os dados do pagamento incluindo o CardToken, SecurityCode e Brand.
     * @returns Uma Promise que resolve com os detalhes da transação criada (CreditCardPaymentResponse).
     * @throws {CieloApiError | CieloNetworkError} Em caso de falha.
     */
    createTokenizedPayment(payload: TokenizedPaymentRequest): Promise<CreditCardPaymentResponse>;
    /**
    * Cria uma nova transação de pagamento com Pix.
    * Corresponde à operação 'qrcode-pix' (POST /1/sales/).
    *
    * @param payload Os dados do pagamento (pedido, cliente, detalhes do pagamento Pix).
    * @returns Uma Promise que resolve com os detalhes da transação Pix criada (PixPaymentResponse).
    * @throws {CieloApiError | CieloNetworkError} Em caso de falha na comunicação ou erro da API.
    */
    createPixPayment(payload: PixPaymentRequest): Promise<PixPaymentResponse>;
}
