/** * Writer. */ export interface StringWriter { /** * Write data. * * @param data * Value. */ writeString(data: string): void; } interface SubtleCryptoLike { digest(algorithm: { name: string; } | string, data: ArrayBufferView | ArrayBufferLike): Promise; } /** * Hash a field. */ export type FieldHasher = (data: StringWriter) => void; /** * Create a hasher for a boolean. * * @param key * Key. * @param value * Value. * @returns * Hasher. */ export declare function bool(key: string, value: boolean): FieldHasher; /** * Create a hasher for an unsigned 32-bit integer. * * @param key * Key. * @param value * Value. * @returns * Hasher. */ export declare function uint32(key: string, value: number): FieldHasher; /** * Create a hasher for a string. * * @param key * Key. * @param value * Value. * @returns * Hasher. */ export declare function string(key: string, value: string): FieldHasher; /** * Create a hasher for a 64-bit floating point number. * * @param key * Key. * @param value * Value. * @returns * Hasher. */ export declare function float64(key: string, value: number): FieldHasher; /** * Create a hasher for an array of strings. * * @param key * Key. * @param values * Values. * @returns * Hasher. */ export declare function stringSliceOrdered(key: string, values: ReadonlyArray): FieldHasher; /** * Create a hasher. * * @param subtle * Subtle crypto. * @returns * Hasher. */ export declare function makeHasher(subtle: SubtleCryptoLike): (...hashers: ReadonlyArray) => Promise; export {};