import { HashInput } from './circuit_value.js'; import { Poseidon as Poseidon_, Field } from '../snarky.js'; export { Poseidon, TokenSymbol }; export { HashInput, prefixes, emptyHashWithPrefix, hashWithPrefix, salt, packToFields, emptyReceiptChainHash, }; declare class Sponge { private sponge; constructor(); absorb(x: Field): void; squeeze(): Field; } declare const Poseidon: { hash(input: Field[]): Field; update(state: [Field, Field, Field], input: Field[]): [Field, Field, Field]; readonly initialState: [Field, Field, Field]; Sponge: typeof Sponge; }; declare function emptyHashWithPrefix(prefix: string): Field; declare function hashWithPrefix(prefix: string, input: Field[]): Field; declare const prefixes: typeof Poseidon_.prefixes; declare function salt(prefix: string): [Field, Field, Field]; /** * Convert the {fields, packed} hash input representation to a list of field elements * Random_oracle_input.Chunked.pack_to_fields */ declare function packToFields({ fields, packed }: HashInput): Field[]; declare const TokenSymbol_base: (new (value: { symbol: string; field: Field; }) => { symbol: string; field: Field; }) & import("../snarky.js").Provable<{ symbol: string; field: Field; }> & { toInput: (x: { symbol: string; field: Field; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { symbol: string; field: Field; }) => string; }; declare class TokenSymbol extends TokenSymbol_base { static get empty(): { symbol: string; field: Field; }; static from(symbol: string): TokenSymbol; } declare function emptyReceiptChainHash(): Field;