///
import { MessageHeader } from '../enum.js';
import { Message } from './metadata/message.js';
import { ArrayBufferViewInput } from '../util/buffer.js';
import { ByteStream, ReadableSource, AsyncByteStream } from '../io/stream.js';
import { ArrowJSON, ArrowJSONLike, FileHandle } from '../io/interfaces.js';
/** @ignore */
export declare class MessageReader implements IterableIterator {
protected source: ByteStream;
constructor(source: ByteStream | ArrayBufferViewInput | Iterable);
[Symbol.iterator](): IterableIterator;
next(): IteratorResult;
throw(value?: any): any;
return(value?: any): any;
readMessage(type?: T | null): Message | null;
readMessageBody(bodyLength: number): Uint8Array;
readSchema(throwIfNull?: boolean): import("../schema.js").Schema | undefined;
protected readMetadataLength(): IteratorResult;
protected readMetadata(metadataLength: number): IteratorResult;
}
/** @ignore */
export declare class AsyncMessageReader implements AsyncIterableIterator {
protected source: AsyncByteStream;
constructor(source: ReadableSource);
constructor(source: FileHandle, byteLength?: number);
[Symbol.asyncIterator](): AsyncIterableIterator;
next(): Promise>;
throw(value?: any): Promise;
return(value?: any): Promise;
readMessage(type?: T | null): Promise | null>;
readMessageBody(bodyLength: number): Promise;
readSchema(throwIfNull?: boolean): Promise | undefined>;
protected readMetadataLength(): Promise>;
protected readMetadata(metadataLength: number): Promise>;
}
/** @ignore */
export declare class JSONMessageReader extends MessageReader {
private _schema;
private _json;
private _body;
private _batchIndex;
private _dictionaryIndex;
constructor(source: ArrowJSON | ArrowJSONLike);
next(): any;
readMessageBody(_bodyLength?: number): any;
readMessage(type?: T | null): Message | null;
readSchema(): import("../schema.js").Schema;
}
/** @ignore */
export declare const PADDING = 4;
/** @ignore */
export declare const MAGIC_STR = "ARROW1";
/** @ignore */
export declare const MAGIC: Uint8Array;
/** @ignore */
export declare function checkForMagicArrowString(buffer: Uint8Array, index?: number): boolean;
/** @ignore */
export declare const magicLength: number;
/** @ignore */
export declare const magicAndPadding: number;
/** @ignore */
export declare const magicX2AndPadding: number;