import { IDL } from "@icp-sdk/core/candid"; import type { BaseActor } from "@ic-reactor/core"; import type { FormServiceMeta, FormArgumentsMeta, FormFieldNode, VariableRefCandidate } from "./types.js"; export * from "./types.js"; /** * Visitor that generates form-oriented metadata from Candid IDL types. * * Each generated field includes: * - `schema` for validation * - `component` for renderer selection * - `renderHint` for UI behavior hints */ export declare class CandidFormVisitor extends IDL.Visitor> { private recCache; private recursiveSchemas; private nameStack; private withName; private currentName; visitService(t: IDL.ServiceClass): FormServiceMeta; visitFunc(t: IDL.FuncClass, functionName: string): FormArgumentsMeta; buildFunctionMeta(func: IDL.FuncClass, functionName: string): FormArgumentsMeta; buildValueMeta(valueType: IDL.Type, functionName?: string): FormArgumentsMeta; toFormValuesFromDecodedArgs(fields: FormFieldNode[], decodedArgs: unknown[]): unknown[]; collectRefCandidatesFromRoot(sourceNodeId: string, rootExpr: string, rootLabel: string, rootField: FormFieldNode): VariableRefCandidate[]; buildFieldForType(type: IDL.Type, label: string, path: string): FormFieldNode; buildTupleFieldForTypes(types: IDL.Type[], label: string, path: string): FormFieldNode; visitRecord(t: IDL.RecordClass, fields_: Array<[string, IDL.Type]>, label: string): FormFieldNode; visitTuple(_t: IDL.TupleClass, components: IDL.Type[], label: string): FormFieldNode; visitVariant(t: IDL.VariantClass, fields_: Array<[string, IDL.Type]>, label: string): FormFieldNode; visitOpt(_t: IDL.OptClass, ty: IDL.Type, label: string): FormFieldNode; visitVec(_t: IDL.VecClass, ty: IDL.Type, label: string): FormFieldNode; visitRec(t: IDL.RecClass, ty: IDL.ConstructType, label: string): FormFieldNode; visitPrincipal(_t: IDL.PrincipalClass, label: string): FormFieldNode; visitText(_t: IDL.TextClass, label: string): FormFieldNode; visitBool(_t: IDL.BoolClass, label: string): FormFieldNode; visitNull(_t: IDL.NullClass, label: string): FormFieldNode; visitInt(_t: IDL.IntClass, label: string): FormFieldNode; visitNat(_t: IDL.NatClass, label: string): FormFieldNode; visitFloat(t: IDL.FloatClass, label: string): FormFieldNode; visitFixedInt(t: IDL.FixedIntClass, label: string): FormFieldNode; visitFixedNat(t: IDL.FixedNatClass, label: string): FormFieldNode; visitType(t: IDL.Type, label: string): FormFieldNode; private primitive; } //# sourceMappingURL=index.d.ts.map