import { D as DecodeOptions, M as MtAiValue } from './options-Tr9xj9hl.js';
import './sorts.js';

/**
 * Decode CBOR bytes to a JS value.
 *
 * @param src CBOR bytes to decode.
 * @param options Options for decoding.
 * @returns JS value decoded from cbor.
 * @throws {Error} No value found, decoding errors.
 */
declare function decode<T = unknown>(src: Uint8Array | string, options?: DecodeOptions): T;
/**
 * Decode the bytes of a CBOR Sequence to major-type/additional-information/
 * value tuples.  Each of these tuples is an event in parsing the sequence.
 *
 * Note that this includes items indicating the start of an array or map, and
 * the end of an indefinite-length item, and tag numbers separate from the
 * tag content. Does not guarantee that the input is valid.
 *
 * Will attempt to read all items in an array or map, even if indefinite.
 * Throws when there is insufficient data to do so. The same applies when
 * reading tagged items, byte strings and text strings.
 *
 * @see https://www.rfc-editor.org/rfc/rfc8742.html
 * @example
 * ```js
 * const s = new Sequence(buffer);
 * for (const [majorType, additionalInfo, value] of s.seq()) {
 *  ...
 * }
 * ```
 */
declare class SequenceEvents {
    #private;
    /**
     * Create an Event.
     *
     * @param src CBOR bytes to decode.
     * @param options Options for decoding.
     */
    constructor(src: Uint8Array | string, options?: DecodeOptions);
    /**
     * Peek at the next tuple, allowing for later reads.
     *
     * @returns A value if one exists, otherwise undefined.
     * @throws {Error} On insufficient data.
     */
    peek(): MtAiValue | undefined;
    /**
     * Read the next tuple.
     *
     * @returns A value if one exists, otherwise undefined.
     * @throws {Error} On insufficient data.
     */
    read(): MtAiValue | undefined;
    /**
     * Iterate over all tuples.
     *
     * @throws {Error} On insufficient data.
     * @yields An MtAiValue for each value in the sequence.
     */
    [Symbol.iterator](): Generator<MtAiValue, void, undefined>;
}
/**
 * Decode a CBOR Sequence consisting of multiple CBOR items.
 *
 * @param src CBOR bytes to decode.
 * @param options Options for decoding.
 * @yields JS value decoded from CBOR sequence.
 * @see https://www.rfc-editor.org/rfc/rfc8742.html
 */
declare function decodeSequence<T = unknown>(src: Uint8Array | string, options?: DecodeOptions): Generator<T, undefined, undefined>;

export { SequenceEvents, decode, decodeSequence };
