import { FpC, FrC } from '../../towers/index.js';
declare const HashFr_base: (new (value: {
    ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
}) => {
    ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
}) & {
    _isStruct: true;
} & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
}, {
    ZERO_UINT_2: {
        bytes: {
            value: bigint;
        }[];
    };
    HASH_FR_LEN_IN_BYTES: {
        bytes: {
            value: bigint;
        }[];
    };
    HASH_FR_SIZE_DOMAIN: {
        bytes: {
            value: bigint;
        }[];
    };
    BSB22_Plonk: {
        bytes: {
            value: bigint;
        }[];
    };
}>, "fromFields"> & {
    fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
        ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
} & {
    fromValue: (value: {
        ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
            bytes: {
                value: bigint;
            }[];
        };
        HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
            bytes: {
                value: bigint;
            }[];
        };
        HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
            bytes: {
                value: bigint;
            }[];
        };
        BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
            bytes: {
                value: bigint;
            }[];
        };
    }) => {
        ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
    toInput: (x: {
        ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    }) => {
        fields?: import("o1js").Field[] | undefined;
        packed?: [import("o1js").Field, number][] | undefined;
    };
    toJSON: (x: {
        ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    }) => {
        ZERO_UINT_2: {
            bytes: {
                value: string;
            }[];
        };
        HASH_FR_LEN_IN_BYTES: {
            bytes: {
                value: string;
            }[];
        };
        HASH_FR_SIZE_DOMAIN: {
            bytes: {
                value: string;
            }[];
        };
        BSB22_Plonk: {
            bytes: {
                value: string;
            }[];
        };
    };
    fromJSON: (x: {
        ZERO_UINT_2: {
            bytes: {
                value: string;
            }[];
        };
        HASH_FR_LEN_IN_BYTES: {
            bytes: {
                value: string;
            }[];
        };
        HASH_FR_SIZE_DOMAIN: {
            bytes: {
                value: string;
            }[];
        };
        BSB22_Plonk: {
            bytes: {
                value: string;
            }[];
        };
    }) => {
        ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
    empty: () => {
        ZERO_UINT_2: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_LEN_IN_BYTES: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        HASH_FR_SIZE_DOMAIN: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        BSB22_Plonk: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
};
declare class HashFr extends HashFr_base {
    constructor();
    hash(x: FpC, y: FpC): FrC;
}
export { HashFr };
