import Response from '@pixelpay/sdk-core/lib/base/Response';
import type Settings from '@pixelpay/sdk-core/lib/models/Settings';
import type AuthTransaction from '@pixelpay/sdk-core/lib/requests/AuthTransaction';
import type CaptureTransaction from '@pixelpay/sdk-core/lib/requests/CaptureTransaction';
import type CardTokenization from '@pixelpay/sdk-core/lib/requests/CardTokenization';
import type SaleTransaction from '@pixelpay/sdk-core/lib/requests/SaleTransaction';
import type StatusTransaction from '@pixelpay/sdk-core/lib/requests/StatusTransaction';
import type VoidTransaction from '@pixelpay/sdk-core/lib/requests/VoidTransaction';
declare class ServiceBehaviour {
    _settings: Settings;
    constructor(settings: Settings);
    getSettings(): string;
    parseResult(result: {
        status: number | string;
        response: string;
    }): Response;
}
declare class Transaction extends ServiceBehaviour {
    /**
     * Send and proccesing SALE transaction
     *
     * @param transaction
     * @return
     * @throws InvalidCredentialsException
     */
    doSale(transaction: SaleTransaction): Promise<Response>;
    /**
     * Send and proccesing AUTH transaction
     *
     * @param transaction
     * @return
     * @throws InvalidCredentialsException
     */
    doAuth(transaction: AuthTransaction): Promise<Response>;
    /**
     * Send and proccesing CAPTURE transaction
     *
     * @param transaction
     * @return
     * @throws InvalidCredentialsException
     */
    doCapture(transaction: CaptureTransaction): Promise<Response>;
    /**
     * Send and proccesing VOID transaction
     *
     * @param transaction
     * @return
     * @throws InvalidCredentialsException
     */
    doVoid(transaction: VoidTransaction): Promise<Response>;
    /**
     * Send and proccesing SALE transaction
     *
     * @param transaction
     * @return
     * @throws InvalidCredentialsException
     */
    getStatus(transaction: StatusTransaction): Promise<Response>;
    /**
     * Verify a payment hash and returns true if payment response is not modified
     *
     * @param hash
     * @param order_id
     * @param secret
     * @return
     */
    verifyPaymentHash(hash: string, order_id: string, secret: string): boolean;
}
declare class Tokenization extends ServiceBehaviour {
    /**
     * Vault credit/debit card and obtain a token card identifier (T-* format)
     *
     * @param card
     * @return
     * @throws InvalidCredentialsException
     */
    vaultCard(card: CardTokenization): Promise<Response>;
    /**
     * Update credit/debit card by token card identifier
     *
     * @param token
     * @param card
     * @return
     * @throws InvalidCredentialsException
     */
    updateCard(token: string, card: CardTokenization): Promise<Response>;
    /**
     * Show credit/debit card metadata by token card identifier
     *
     * @param token
     * @return
     * @throws InvalidCredentialsException
     */
    showCard(token: string): Promise<Response>;
    /**
     * Show credit/debit card metadata by token card identifier
     *
     * @param token
     * @return
     * @throws InvalidCredentialsException
     */
    showCards(tokens: string[]): Promise<Response>;
    /**
     * Delete credit/debit card metadata by token card identifier
     *
     * @param token
     * @return
     * @throws InvalidCredentialsException
     */
    deleteCard(token: string): Promise<Response>;
}
export { Transaction, Tokenization };
//# sourceMappingURL=index.d.ts.map