import type { DecodeOptions } from '../options.js';
/**
 * 数据读取函数
 * `yield` 返回需要的字节数，`return` 返回解析结果
 */
export type DecodeFuncAe<T = unknown> = Generator<number, T, void>;
/** 数据包装 */
export interface DecodeCursorAe {
    /** 当前数据块 */
    readonly view: DataView;
    /** 当前数据块 */
    readonly data: Uint8Array;
    /** 当前数据大小 */
    readonly size: number;
    /** 当前读指针位置 */
    offset: number;
    /** 选项 */
    readonly options: DecodeOptions | undefined;
}
/** 创建数据包装 */
export declare function DecodeCursor(data: BufferSource, options?: DecodeOptions): DecodeCursorAe;
/**
 * 读取第一个非 NOOP 的字节
 */
export declare function readMarker(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** 读取一个大于 0 的整数 */
export declare function readLength(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** readInt8Data */
export declare function readInt8Data(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** readUint8Data */
export declare function readUint8Data(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** readInt16Data */
export declare function readInt16Data(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** readInt32Data */
export declare function readInt32Data(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** readInt64Data */
export declare function readInt64Data(cursor: DecodeCursorAe): DecodeFuncAe<bigint>;
/** readFloat32Data */
export declare function readFloat32Data(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** readFloat64Data */
export declare function readFloat64Data(cursor: DecodeCursorAe): DecodeFuncAe<number>;
/** 读取数据 */
export declare function read(cursor: DecodeCursorAe): DecodeFuncAe<unknown>;
/** 根据标签读取后续数据 */
export declare function readData(cursor: DecodeCursorAe, marker: number): DecodeFuncAe<unknown>;
/** readKey */
export declare function readKey(cursor: DecodeCursorAe): DecodeFuncAe<string>;
/** Optimized Format 数据 */
export type OptimizedFormatMarkers = {
    type?: number;
    count: number;
};
//# sourceMappingURL=decode-ae.d.ts.map