import { AxiomV2Callback, AxiomV2QueryOptions, AxiomV2CompiledCircuit, AxiomV2SendQueryArgs } from "../types"; import { AxiomV2CircuitCapacity, UserInput, DataSubquery, CircuitConfig, AxiomV2ComputeQuery } from "@axiom-crypto/circuit"; import { PublicClient, TransactionReceipt, WalletClient } from "viem"; import { CoreConfigCircuit } from "../types/internal"; export type AxiomBaseCircuitGeneric = { setup?: (numThreads: number) => void; loadSaved: (args: { config: CircuitConfig; capacity: AxiomV2CircuitCapacity; vk: any; }) => Promise; getDataQuery: () => DataSubquery[]; getComputeQuery: () => AxiomV2ComputeQuery | undefined; run: (input: UserInput) => Promise; }; export declare abstract class AxiomCore> { protected coreConfigCircuit: CoreConfigCircuit; protected axiomV2QueryAddress: string; protected axiomBaseCircuit: C; protected compiledCircuit: AxiomV2CompiledCircuit; protected capacity: AxiomV2CircuitCapacity; protected callback: AxiomV2Callback; protected numThreads: number; protected sendQueryPublicClient: PublicClient; protected sendQueryWalletClient?: WalletClient; protected options?: AxiomV2QueryOptions; protected sendQueryArgs?: AxiomV2SendQueryArgs; constructor(config: CoreConfigCircuit, axiomV2QueryAddress: string, axiomBaseCircuit: C, numThreads: number, sendQueryPublicClient: PublicClient, sendQueryWalletClient?: WalletClient); init(): Promise; getOptions(): AxiomV2QueryOptions | undefined; getDataQuery(): DataSubquery[]; getSendQueryArgs(): AxiomV2SendQueryArgs | undefined; setOptions(options: AxiomV2QueryOptions): void; setCallback(callback: { target?: string; extraData?: string; }): void; prove(input: UserInput): Promise; sendQuery(): Promise; sendQueryWithIpfs(): Promise; protected abstract buildSendQueryArgs(): Promise; } //# sourceMappingURL=axiomCore.d.ts.map