import { EncoderDecoder } from "../../converter/encoder-decoder.interface";
import { APDUCommand } from "./apdu-command";
/**
 * Created by IoTize on 09/03/
 *
 * Model representing an application protocol data unit
 */
export declare class APDUCommandConverter implements EncoderDecoder<APDUCommand, Uint8Array> {
    buffer: Uint8Array;
    static HEADER_LENGTH: number;
    static MIN_APDU_SIZE: number;
    private static APDU_BUFFER_SIZE;
    constructor();
    /**
     * [(4) 0:3 HEADER][(1) 4:4 LENGTH][5:n PAYLOAD][ (4) STATUS CODE]
     *
     * @return
     * @throws Exception
     */
    encode(command: APDUCommand): Uint8Array;
    /**
     * [(4) 0:3 HEADER][(1) 4:4 LENGTH][5: PAYLOAD][ (4) STATUS CODE]
     *
     * @param buffer the input encoded data
     * @return the APDUCommand model
     * @throws InvalidAPDUException if it's not a valid APDU encoded data
     */
    decode(buffer: Uint8Array): APDUCommand;
}
