import { DataStream } from './Handlers';
interface GBXReaderOptions {
    classId: number;
    stream?: DataStream;
    headerChunks?: IHeaderChunks[];
}
export declare class GBXReader<NodeType> {
    options: GBXReaderOptions;
    private current?;
    private fullChunkId;
    private versions;
    private unknowns;
    constructor(options: GBXReaderOptions);
    protected readVersion(version: number): number;
    protected readUnknown<T>(unknown: T): T;
    /**
     * Reads a node.
     */
    readNode(): NodeType;
    /**
     * Check if the chunk is supported and process it.
     * @param fullChunkId The full chunk ID.
     * @returns A boolean indicating if the chunk is supported.
     */
    readChunk(fullChunkId: number, isHeaderChunk?: boolean, length?: number): boolean;
    /**
     * Reads a header chunk.
     */
    readHeaderChunk(classId: number): NodeType;
}
export {};
