///
import { Fft } from '../../fft/index.js';
import { Pippenger } from '../../pippenger/index.js';
import { BarretenbergWasm, BarretenbergWorker } from '../../wasm/index.js';
/**
* A Prover is composed of a single underlying worker (`wasm`), and implementations of Pippenger and Fft, which may
* or may not be backed multiple wasm workers on which they execute their algorithms.
*
* The single given worker, must be the worker within which any proof generators will initialise their proving keys,
* and must be the worker within which the given `proverPtr` exists.
*
* The `getWorker()` method should be used by proof generation components to return the worker on which to make their
* appropriate wasmCalls.
*
* Given that the Fft implementation is provided in the constructor, a Prover is fixed to whatever circuit size the
* Fft implementation was initialised with.
*/
export declare class Prover {
private wasm;
private pippenger;
private fft;
private callPrefix;
private interruptPromise;
constructor(wasm: BarretenbergWorker | BarretenbergWasm, pippenger: Pippenger, fft: Fft, callPrefix?: string);
getWorker(): BarretenbergWorker;
createProof(proverPtr: number, timeout?: number): Promise;
private proverCall;
private prove;
private processProverQueue;
private doFft;
private doIfft;
private transferToHeap;
}
//# sourceMappingURL=prover.d.ts.map