import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _TKSmartCardATRInterfaceGroup } from "./TKSmartCardATRInterfaceGroup.js";
import type { TKSmartCardProtocol } from "./TKSmartCardProtocol.js";
export declare class _TKSmartCardATR extends _NSObject {
    static alloc(): _TKSmartCardATR;
    static new(): _TKSmartCardATR;
    init(): _TKSmartCardATR;
    /**
     * Parses ATR from binary data block @param bytes Data containing full valid ATR @return Parsed ATR instance, or nil when #bytes do not contain valid ATR.
     */
    initWithBytes$(bytes: _NSData): _TKSmartCardATR | null;
    /**
     * Parses ATR from stream. @param source Provides one byte of ATR from the stream or -1 in case of an error @return Parsed ATR instance, or nil when #source method failed or an invalid ATR is detected
     */
    initWithSource$(source: () => number): _TKSmartCardATR | null;
    /**
     * Retrieves interface group with specified index. @param index Index of the requested interface group. Indexing conforms to ISO7816-3, i.e. starts from 1. @return Interface group with given index, or nil of no such group was present.
     */
    interfaceGroupAtIndex$(index: number): _TKSmartCardATRInterfaceGroup | null;
    /**
     * Retrieves interface group belonging to specified protocol. @param protocol Protocol number for which the interface group is requested.
     */
    interfaceGroupForProtocol$(protocol: TKSmartCardProtocol): _TKSmartCardATRInterfaceGroup | null;
    /** Full ATR as string of bytes */
    bytes(): _NSData;
    /**
     * Array of NSNumber of protocols indicated in ATR, in the correct order (i.e. the default protocol comes first), duplicates sorted out.
     */
    protocols(): _NSArray;
    /** Just historical bytes of ATR, without Tck and interface bytes. */
    historicalBytes(): _NSData;
    /**
     * An array of TKCompactTLVRecord instances with TLV records parsed from historical bytes. If historical bytes are not structured using Compact TLV encoding, nil is returned. @note In case that ATR historical bytes begin with 0x00, the last three bytes (status indicator) are automatically appended into the returned records as if historical bytes would begin with 0x80 and 0x8 record is present in historical bytes.
     */
    historicalRecords(): _NSArray | null;
}
