import { KaitaiStreamReader, KaitaiStreamWriter } from '@iotize/common/byte-stream';
import { EncoderDecoder } from '@iotize/common/converter/api';
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;
    constructor();
    /**
     * [(4) 0:3 HEADER][(1) 4:4 LENGTH][5:n PAYLOAD][ (4) STATUS CODE]
     *
     * @return
     * @throws Exception
     */
    encode(command: APDUCommand, stream?: KaitaiStreamWriter): Uint8Array;
    /**
     * [(4) 0:3 HEADER][(1) 4:4 LENGTH][5: PAYLOAD][ (4) STATUS CODE]
     *
     * @param stream the input encoded data
     * @return the APDUCommand model
     * @throws InvalidAPDUException if it's not a valid APDU encoded data
     */
    decode(stream: Uint8Array | KaitaiStreamReader): APDUCommand;
}
