import { type ConfigMappingsType } from '@aztec/foundation/config';
import { type ApiSchemaFor } from '@aztec/foundation/schemas';
import { z } from 'zod';
import { ProvingRequestType } from './proving-job.js';
export declare const ProverAgentConfig: z.ZodObject<{
    /** The number of prover agents to start */
    proverAgentCount: z.ZodNumber;
    /** The types of proofs the prover agent can generate */
    proverAgentProofTypes: z.ZodArray<z.ZodNativeEnum<typeof ProvingRequestType>, "many">;
    /** How often the prover agents poll for jobs */
    proverAgentPollIntervalMs: z.ZodNumber;
    /** The URL where this agent takes jobs from */
    proverBrokerUrl: z.ZodOptional<z.ZodString>;
    /** Whether to construct real proofs */
    realProofs: z.ZodBoolean;
    /** Artificial delay to introduce to all operations to the test prover. */
    proverTestDelayMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    proverAgentCount: number;
    proverAgentProofTypes: ProvingRequestType[];
    proverAgentPollIntervalMs: number;
    realProofs: boolean;
    proverTestDelayMs: number;
    proverBrokerUrl?: string | undefined;
}, {
    proverAgentCount: number;
    proverAgentProofTypes: ProvingRequestType[];
    proverAgentPollIntervalMs: number;
    realProofs: boolean;
    proverTestDelayMs: number;
    proverBrokerUrl?: string | undefined;
}>;
export type ProverAgentConfig = z.infer<typeof ProverAgentConfig>;
export declare const proverAgentConfigMappings: ConfigMappingsType<ProverAgentConfig>;
export interface ProverAgentApi {
    setMaxConcurrency(maxConcurrency: number): Promise<void>;
    isRunning(): Promise<boolean>;
    getCurrentJobs(): Promise<{
        id: string;
        type: string;
    }[]>;
}
export declare const ProverAgentApiSchema: ApiSchemaFor<ProverAgentApi>;
//# sourceMappingURL=prover-agent.d.ts.map