/**
 * @author Jackiê Macklein
 * @company Onside tecnologia/Nettz
 * @copyright Todos direitos reservados.
 * @description Validação client-side da criação de transação remota (bandeira, parcelas, valor, splits).
 * Referência: https://evoluservices.github.io/evoluservices-developer/docs/remote-transaction/create-remote-transaction/how-to-create-remote-transaction
 */
import { type EvoCreateRemoteTransactionBody, type EvoCreateRemoteTransactionResponse } from "./types";
/** Códigos `error` documentados na criação de transação remota (resposta de erro). */
export declare const EvoRemoteTransactionErrorCode: {
    readonly PAYMENT_BRAND_ID_INVALID: "PAYMENT_BRAND_ID_INVALID";
    readonly INSTALLMENTS_INVALID_FOR_DEBIT: "INSTALLMENTS_INVALID_FOR_DEBIT";
    readonly INVALID_PAYMENT_BRAND: "INVALID_PAYMENT_BRAND";
    readonly INVALID_INSTALLMENTS_QUANTITY_OR_VALUE: "INVALID_INSTALLMENTS_QUANTITY_OR_VALUE";
    readonly MERCHANT_ID_INVALID: "MERCHANT_ID_INVALID";
    readonly TERMINAL_ID_INVALID: "TERMINAL_ID_INVALID";
    readonly MERCHANT_TERMINAL_INVALID: "MERCHANT_TERMINAL_INVALID";
    readonly VALUE_FIELD_INVALID: "VALUE_FIELD_INVALID";
    readonly NAME_CLIENT_INVALID: "NAME_CLIENT_INVALID";
    readonly DOCUMENT_INVALID: "DOCUMENT_INVALID";
    readonly SPLIT_SUM_GREATER_THAN_TRANSACTION_VALUE: "SPLIT_SUM_GREATER_THAN_TRANSACTION_VALUE";
    readonly SUPPLIER_NOT_FOUND: "SUPPLIER_NOT_FOUND";
    readonly SUPPLIER_INVALID: "SUPPLIER_INVALID";
};
/** Mensagem amigável para o código retornado pela API (fallback: o próprio código). */
export declare function getEvoRemoteTransactionErrorMessage(code: string): string;
/** Tenta extrair `error` / `success` de um corpo JSON da EvoluServices. */
export declare function tryParseEvoRemoteTransactionResponse(body: string): {
    success?: string;
    error?: string;
} | undefined;
/**
 * Valida o body antes do POST. Lança `EvoPagamentosApiError` com `status` 400 e corpo JSON com `message`.
 */
export declare function assertValidCreateRemoteTransactionBody(body: EvoCreateRemoteTransactionBody): void;
/** Se a API retornou JSON com success !== true, lança erro com `evoErrorCode`. */
export declare function assertEvoCreateRemoteTransactionSuccess(data: EvoCreateRemoteTransactionResponse): void;
