import { ComputationalStage, ComputationPlan } from '../../plan.js';
import { PlatformFeatures } from '../platform/index.js';
export type PlonkInput = {
    hexPi: string;
    programVK: string;
    encodedProof: string;
};
export interface PlonkProofData {
    maxProofsVerified: 0 | 1 | 2;
    proof: string;
    publicInput: string[];
    publicOutput: string[];
}
export interface PlonkVkData {
    data: string;
    hash: string;
}
export interface PlonkOutput {
    vkData: PlonkVkData;
    proofData: PlonkProofData;
}
interface State extends PlatformFeatures, PlonkOutput {
    workingDirName: string;
    workingDir: string;
    cacheDir: string;
    input: PlonkInput;
    witnessPath: string;
}
export declare class PlonkComputationalPlan implements ComputationPlan<State, PlonkOutput, PlonkInput> {
    readonly __inputType: PlonkInput;
    name: string;
    init(state: State, input: PlonkInput): Promise<void>;
    stages: ComputationalStage<State>[];
    then(state: State): Promise<PlonkOutput>;
    finally(state: State): Promise<void>;
}
export {};
