import { DirectApiTransactionInitRequest, DirectApiTransactionInitResponse, CardDetails, StatusCheckResponse } from "./types";
/**
 * Initiates a transaction for Direct API Integration.
 * This is the first step where you get pSign and transactionParams.
 * @param baseUrl The base URL for the Nass Payment Gateway API (Portal part, for initial transaction request).
 * @param accessToken The access token obtained from authentication.
 * @param transactionDetails Details of the transaction to initiate.
 * @returns A Promise that resolves to the initial transaction response. The response will contain pSign and transactionParams (including nonce and timestamp), which are required for Direct API Integration. [cite: 32]
 * @throws {Error} If the initiation fails.
 */
export declare function initiateDirectApiTransaction(baseUrl: string, accessToken: string, transactionDetails: DirectApiTransactionInitRequest): Promise<DirectApiTransactionInitResponse>;
/**
 * Sends cardholder data for authorization in Direct API Integration.
 * After receiving the response from /transaction, the merchant system must send a POST request to the transaction processing URL (tURL). [cite: 33]
 * @param transactionProcessingUrl The direct transaction processing URL (tURL).
 * @param pSign The signature from the initial transaction response. [cite: 34]
 * @param nonce A unique identifier for the transaction. [cite: 34]
 * @param cardDetails Cardholder details (PAN, expiry date, CVV). [cite: 34]
 * @param orderDetails Order Number, Amount and all other parameters from the initial request. [cite: 35]
 * @returns A Promise that resolves to the authorization response (likely an HTML string for redirection).
 * @throws {Error} If sending cardholder data fails.
 */
export declare function sendCardholderData(transactionProcessingUrl: string, pSign: string, // pSign: The signature from the initial transaction response [cite: 34]
nonce: string, // NONCE: A unique identifier for the transaction [cite: 34]
cardDetails: CardDetails, // Cardholder details (PAN, expiry date, CVV). [cite: 34]
orderDetails: {
    orderId: string;
    amount: string;
    currency: string;
    transactionType: string;
    terminalId: string;
    orderDesc: string;
    timestamp: string;
    backRefUrl: string;
}): Promise<string>;
/**
 * Checks the status of a transaction initiated via Direct API Integration.
 * Merchants can check the status of a transaction within 24 hours of initiation. [cite: 44]
 * @param baseUrl The base URL for the Nass Payment Gateway API (Portal part, for status check).
 * @param accessToken The access token obtained from authentication.
 * @param orderId The unique order identifier.
 * @returns A Promise that resolves to the transaction status response.
 * @throws {Error} If checking the status fails.
 */
export declare function checkDirectApiStatus(baseUrl: string, accessToken: string, orderId: string): Promise<StatusCheckResponse>;
