import 'reflect-metadata'; import { Field } from '../wrapped.js'; import { HashInput, NonMethods } from './provable-derivers.js'; import { AnyConstructor, FlexibleProvable } from './struct.js'; export { CircuitValue, prop, arrayProp }; /** * @deprecated `CircuitValue` is deprecated in favor of {@link Struct}, which features a simpler API and better typing. */ declare abstract class CircuitValue { constructor(...props: any[]); static fromObject(this: T, value: NonMethods>): InstanceType; static sizeInFields(): number; static toFields(this: T, v: InstanceType): Field[]; static toAuxiliary(): []; static toInput(this: T, v: InstanceType): HashInput; toFields(): Field[]; static toValue(this: T, v: InstanceType): any; static fromValue(this: T, value: any): InstanceType; toJSON(): any; toConstant(): this; equals(x: this): import("../bool.js").Bool; assertEquals(x: this): void; isConstant(): boolean; static fromFields(this: T, xs: Field[]): InstanceType; static check(this: T, v: InstanceType): void; static toCanonical(this: T, value: InstanceType): InstanceType; static toConstant(this: T, t: InstanceType): InstanceType; static toJSON(this: T, v: InstanceType): any; static fromJSON(this: T, value: any): InstanceType; static empty(): InstanceType; } declare function prop(this: any, target: any, key: string): void; declare function arrayProp(elementType: FlexibleProvable, length: number): (target: any, key: string) => void;