import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _TKSmartCard } from "./TKSmartCard.js";
import type { _TKSmartCardATR } from "./TKSmartCardATR.js";
import type { TKSmartCardSlotState } from "./TKSmartCardSlotState.js";
export declare class _TKSmartCardSlot extends _NSObject {
    static alloc(): _TKSmartCardSlot;
    static new(): _TKSmartCardSlot;
    init(): _TKSmartCardSlot;
    /**
     * Creates new object representing currently inserted and valid card. @discussion It is possible to instantiate multiple objects for single card, exclusivity is handled by sessions on the level of created SmartCard objects. @return Newly created SmartCard object, or nil if slot does not contain valid card.
     */
    makeSmartCard(): _TKSmartCard | null;
    /** Current state of the slot. Use KVO to be notified about state changes. */
    state(): TKSmartCardSlotState;
    /** ATR of the inserted SmartCard, or nil if no or mute SmartCard is inserted. */
    ATR(): _TKSmartCardATR | null;
    /** Name of the SmartCard reader slot. */
    name(): _NSString;
    /** Maximal length of input APDU that the slot is able to transfer to the card. */
    maxInputLength(): number;
    /** Maximal length of output APDU that the slot is able to transfer from the card. */
    maxOutputLength(): number;
}
