import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, FieldReader } from '@aztec/foundation/serialize'; import { z } from 'zod'; import { type FunctionAbi, FunctionSelector } from '../abi/index.js'; import type { ContractFunctionDao } from '../contract/contract_function_dao.js'; /** Function description for circuit. */ export declare class FunctionData { /** Function selector of the function being called. */ selector: FunctionSelector; /** Indicates whether the function is private or public. */ isPrivate: boolean; constructor( /** Function selector of the function being called. */ selector: FunctionSelector, /** Indicates whether the function is private or public. */ isPrivate: boolean); static fromAbi(abi: FunctionAbi | ContractFunctionDao): Promise; static get schema(): z.ZodEffects; isPrivate: z.ZodBoolean; }, "strip", z.ZodTypeAny, { selector: FunctionSelector; isPrivate: boolean; }, { selector?: any; isPrivate: boolean; }>, FunctionData, { selector?: any; isPrivate: boolean; }>; /** * Serialize this as a buffer. * @returns The buffer. */ toBuffer(): Buffer; toFields(): Fr[]; /** * Returns whether this instance is empty. * @returns True if the function selector is zero. */ isEmpty(): boolean; /** * Returns whether this instance is equal to another. * @param other * @returns */ equals(other: FunctionData): boolean; /** * Returns a new instance of FunctionData with zero function selector. * @param args - Arguments to pass to the constructor. * @returns A new instance of FunctionData with zero function selector. */ static empty(args?: { /** Indicates whether the function is private or public. */ isPrivate?: boolean; /** Indicates whether the function can alter state or not. */ isStatic?: boolean; }): FunctionData; /** * Deserializes from a buffer or reader, corresponding to a write in cpp. * @param buffer - Buffer or reader to read from. * @returns A new instance of FunctionData. */ static fromBuffer(buffer: Buffer | BufferReader): FunctionData; static fromFields(fields: Fr[] | FieldReader): FunctionData; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L2Z1bmN0aW9uX2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTNGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLGdCQUFnQixFQUFnQixNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFaEYsd0NBQXdDO0FBQ3hDLHFCQUFhLFlBQVk7SUFFckIsc0RBQXNEO0lBQy9DLFFBQVEsRUFBRSxnQkFBZ0I7SUFDakMsMkRBQTJEO0lBQ3BELFNBQVMsRUFBRSxPQUFPO0lBSjNCO0lBQ0Usc0RBQXNEO0lBQy9DLFFBQVEsRUFBRSxnQkFBZ0I7SUFDakMsMkRBQTJEO0lBQ3BELFNBQVMsRUFBRSxPQUFPLEVBQ3ZCO0lBRUosT0FBYSxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsR0FBRyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBS2xGO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7OztPQU9oQjtJQUVEOzs7T0FHRztJQUNILFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxZQUVOO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FFbkM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDekIsMkRBQTJEO1FBQzNELFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUNwQiw2REFBNkQ7UUFDN0QsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDO0tBQ3BCLEdBQUcsWUFBWSxDQUVmO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsWUFBWSxDQUc3RDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxZQUFZLENBTzFEO0NBQ0YifQ==