export type FieldElement = Uint8Array;
export type G1Point = Uint8Array;
export type G2Point = Uint8Array;
export interface Circuit {
    constraints: R1CSConstraint[];
    publicInputs: number;
    privateInputs: number;
    outputs: number;
}
export interface R1CSConstraint {
    A: number[];
    B: number[];
    C: number[];
}
export interface Witness {
    publicInputs: FieldElement[];
    privateWitness: FieldElement[];
}
export interface ProvingKey {
    alpha: G1Point;
    beta: G2Point;
    gamma: G2Point;
    delta: G2Point;
    ic: G1Point[];
    h: G1Point[];
    l: G1Point[];
}
export interface VerifyingKey {
    alpha: G1Point;
    beta: G2Point;
    gamma: G2Point;
    delta: G2Point;
    gammaBeta1: G1Point;
    gammaBeta2: G2Point;
    ic: G1Point[];
}
export interface Proof {
    a: G1Point;
    b: G2Point;
    c: G1Point;
}
export interface TrustedSetup {
    provingKey: ProvingKey;
    verifyingKey: VerifyingKey;
}
//# sourceMappingURL=types.d.ts.map