import { NetworkConfig, ProofProcessor } from '../types';
import { CurveType, Library, Plonky2HashFunction, Risc0Version } from '../enums';
export declare const CHAIN_SS58_PREFIX = 251;
export declare enum SupportedNetwork {
    Volta = "Volta",
    Custom = "Custom"
}
export declare const SupportedNetworkConfig: Record<SupportedNetwork, NetworkConfig>;
export declare enum ProofType {
    groth16 = "groth16",
    risc0 = "risc0",
    ultraplonk = "ultraplonk",
    proofofsql = "proofofsql",
    plonky2 = "plonky2"
}
export interface ProofConfig {
    pallet: string;
    processor: ProofProcessor;
}
export declare const proofConfigurations: Record<ProofType, ProofConfig>;
export interface ProofOptions {
    proofType: ProofType;
    config?: Groth16Config | Plonky2Config | Risc0Config;
}
export interface Groth16Config {
    library: Library;
    curve: CurveType;
}
export interface Plonky2Config {
    compressed: boolean;
    hashFunction: Plonky2HashFunction;
}
export interface Risc0Config {
    version: Risc0Version;
}
export type AllProofConfigs = Groth16Config | Plonky2Config | Risc0Config | undefined;
export declare const zkvTypes: {
    MerkleProof: {
        root: string;
        proof: string;
        number_of_leaves: string;
        leaf_index: string;
        leaf: string;
    };
    Curve: {
        _enum: string[];
    };
    Groth16Vk: {
        curve: string;
        alphaG1: string;
        betaG2: string;
        gammaG2: string;
        deltaG2: string;
        gammaAbcG1: string;
    };
    Plonky2Config: {
        _enum: string[];
    };
    Plonky2Vk: {
        config: string;
        bytes: string;
    };
};
export declare const zkvRpc: {
    aggregate: {
        statementPath: {
            description: string;
            params: {
                name: string;
                type: string;
            }[];
            type: string;
        };
    };
    vk_hash: {
        groth16: {
            description: string;
            params: {
                name: string;
                type: string;
            }[];
            type: string;
        };
        plonky2: {
            description: string;
            params: {
                name: string;
                type: string;
            }[];
            type: string;
        };
        proofofsql: {
            description: string;
            params: {
                name: string;
                type: string;
            }[];
            type: string;
        };
        risc0: {
            description: string;
            params: {
                name: string;
                type: string;
            }[];
            type: string;
        };
        ultraplonk: {
            description: string;
            params: {
                name: string;
                type: string;
            }[];
            type: string;
        };
    };
};
//# sourceMappingURL=index.d.ts.map