import { CircuitConfig, Halo2Wasm } from "../web/halo2_wasm";
import { CircuitScaffoldContext } from "./types";
export declare abstract class BaseCircuitScaffold {
    protected halo2wasm: Halo2Wasm;
    protected config: CircuitConfig;
    protected shouldTime: boolean;
    protected proof: Uint8Array | null;
    protected loadedVk: boolean;
    protected context: CircuitScaffoldContext;
    protected timeStart(name: string): void;
    protected timeEnd(name: string): void;
    protected setContext(context: CircuitScaffoldContext): void;
    newCircuitFromConfig(config: CircuitConfig): void;
    loadParams(): Promise<void>;
    loadParamsAndVk(vk: Uint8Array): Promise<void>;
    mock(): void;
    keygen(): Promise<void>;
    prove(): Uint8Array;
    verify(proof: Uint8Array): void;
    getInstances(): string[];
    getCircuitStats(): import("../web/halo2_wasm").CircuitStats;
    getHalo2Vk(): Uint8Array;
    exportHalo2Vk(): Blob;
    getPartialVk(): Uint8Array;
    exportPartialVk(): Blob;
    getProof(): Uint8Array;
    exportProof(): Blob;
}
