import { Decimal, IntSize, IonType, Reader, ReaderScalarValue, Timestamp, Writer } from 'ion-js'; import { Hasher, HasherProvider, HashReader, HashWriter } from "../IonHash"; import JSBI from "jsbi"; export declare class _CryptoHasher implements Hasher { private readonly algorithm; private _hash; constructor(algorithm: string); update(bytes: Uint8Array): void; digest(): Uint8Array; } interface _IonValue { _annotations(): string[]; _fieldName(): string | null; _isNull(): boolean; _type(): IonType | null; _value(): ReaderScalarValue; } export declare class _HashReaderImpl implements HashReader, _IonValue { private readonly _reader; private readonly _hashFunctionProvider; private readonly _hasher; private _ionType; constructor(_reader: Reader, _hashFunctionProvider: HasherProvider); annotations(): string[]; bigIntValue(): JSBI | null; booleanValue(): boolean | null; byteValue(): Uint8Array | null; decimalValue(): Decimal | null; depth(): number; fieldName(): string | null; intSize(): IntSize; isNull(): boolean; numberValue(): number | null; stringValue(): string | null; timestampValue(): Timestamp | null; type(): IonType | null; value(): ReaderScalarValue; private _traverse; next(): IonType | null; stepIn(): void; stepOut(): void; digest(): Uint8Array; _annotations(): string[]; _fieldName(): string | null; _isNull(): boolean; _type(): IonType | null; _value(): ReaderScalarValue; } export declare class _HashWriterImpl implements HashWriter, _IonValue { private readonly _writer; private readonly _hashFunctionProvider; private readonly _hasher; private __ionType; private __annotations; private __fieldName; private __isNull; private __value; constructor(_writer: Writer, _hashFunctionProvider: HasherProvider); addAnnotation(annotation: string): void; setAnnotations(annotations: string[]): void; private _hashScalar; writeBlob(value: Uint8Array | null): void; writeBoolean(value: boolean | null): void; writeClob(value: Uint8Array | null): void; writeDecimal(value: Decimal | null): void; writeFloat32(value: number | null): void; writeFloat64(value: number | null): void; writeInt(value: number | JSBI | null): void; writeNull(type: IonType): void; writeString(value: string | null): void; writeSymbol(value: string | null): void; writeTimestamp(value: Timestamp | null): void; stepIn(type: IonType): void; stepOut(): void; writeFieldName(fieldName: string): void; writeValue(reader: Reader): void; private _writeValue; writeValues(reader: Reader): void; private _writeValues; getBytes(): Uint8Array; close(): void; depth(): number; digest(): Uint8Array; _annotations(): string[]; _fieldName(): string | null; _isNull(): boolean; _type(): IonType | null; _value(): ReaderScalarValue; } export declare function _Uint8ArrayComparator(a: Uint8Array, b: Uint8Array): number; export declare function _escape(bytes: Uint8Array): Uint8Array; export {};