import { Field } from 'o1js';
import * as z from 'zod';
export declare const UserCommitmentHexSchema: z.ZodObject<{
    commitmentHex: z.ZodString;
}, "strip", z.ZodTypeAny, {
    commitmentHex: string;
}, {
    commitmentHex: string;
}>;
export declare const UserSecretInputSchema: z.ZodObject<{
    secret: z.ZodString;
}, "strip", z.ZodTypeAny, {
    secret: string;
}, {
    secret: string;
}>;
export declare const UserCommitmentFieldSchema: z.ZodObject<{
    commitment: z.ZodType<import("o1js/dist/node/lib/field").Field, z.ZodTypeDef, import("o1js/dist/node/lib/field").Field>;
}, "strip", z.ZodTypeAny, {
    commitment: import("o1js/dist/node/lib/field").Field;
}, {
    commitment: import("o1js/dist/node/lib/field").Field;
}>;
export declare const UserSecretSchema: z.ZodObject<{
    secretHash: z.ZodType<import("o1js/dist/node/lib/field").Field, z.ZodTypeDef, import("o1js/dist/node/lib/field").Field>;
}, "strip", z.ZodTypeAny, {
    secretHash: import("o1js/dist/node/lib/field").Field;
}, {
    secretHash: import("o1js/dist/node/lib/field").Field;
}>;
export type UserSecretInput = z.infer<typeof UserSecretInputSchema>;
export type UserSecret = z.infer<typeof UserSecretSchema>;
export type UserCommitmentHex = z.infer<typeof UserCommitmentHexSchema>;
export type UserCommitmentField = z.infer<typeof UserCommitmentFieldSchema>;
export declare const SECRET_MAX_LENGTH: number;
export declare const mkUserSecret: ({ secret }: UserSecretInput) => UserSecret;
export declare const userCommitmentHex: ({ secretHash }: UserSecret) => UserCommitmentHex;
export declare const userCommitmentField: ({ secretHash }: UserSecret) => UserCommitmentField;
export declare const commitmentHexToField: ({ commitmentHex }: UserCommitmentHex) => UserCommitmentField;
export declare const commitmentFieldToHex: ({ commitment }: UserCommitmentField) => UserCommitmentHex;
export declare const hexField: (f: Field) => string;
