/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import { CallContext, PublicCallRequest } from '@aztec/circuits.js';
import { Fr } from '@aztec/foundation/fields';
import { BufferReader } from '@aztec/foundation/serialize';
import { type FieldsOf } from '@aztec/foundation/types';
import { inspect } from 'util';
import { z } from 'zod';
/**
 * The execution request of a public function.
 */
export declare class PublicExecutionRequest {
    /**
     * Context of the public call.
     */
    callContext: CallContext;
    /**
     * Function arguments.
     */
    args: Fr[];
    constructor(
    /**
     * Context of the public call.
     */
    callContext: CallContext, 
    /**
     * Function arguments.
     */
    args: Fr[]);
    getSize(): number;
    toBuffer(): Buffer;
    static get schema(): z.ZodEffects<z.ZodObject<{
        callContext: z.ZodEffects<z.ZodObject<{
            msgSender: z.ZodType<import("@aztec/circuits.js").AztecAddress, any, string>;
            contractAddress: z.ZodType<import("@aztec/circuits.js").AztecAddress, any, string>;
            functionSelector: z.ZodType<import("@aztec/circuits.js").FunctionSelector, any, string>;
            isStaticCall: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            msgSender: import("@aztec/circuits.js").AztecAddress;
            contractAddress: import("@aztec/circuits.js").AztecAddress;
            functionSelector: import("@aztec/circuits.js").FunctionSelector;
            isStaticCall: boolean;
        }, {
            msgSender: string;
            contractAddress: string;
            functionSelector: string;
            isStaticCall: boolean;
        }>, CallContext, {
            msgSender: string;
            contractAddress: string;
            functionSelector: string;
            isStaticCall: boolean;
        }>;
        args: z.ZodArray<z.ZodType<Fr, any, string>, "many">;
    }, "strip", z.ZodTypeAny, {
        args: Fr[];
        callContext: CallContext;
    }, {
        args: string[];
        callContext: {
            msgSender: string;
            contractAddress: string;
            functionSelector: string;
            isStaticCall: boolean;
        };
    }>, PublicExecutionRequest, {
        args: string[];
        callContext: {
            msgSender: string;
            contractAddress: string;
            functionSelector: string;
            isStaticCall: boolean;
        };
    }>;
    static fromBuffer(buffer: Buffer | BufferReader): PublicExecutionRequest;
    static from(fields: FieldsOf<PublicExecutionRequest>): PublicExecutionRequest;
    static getFields(fields: FieldsOf<PublicExecutionRequest>): readonly [CallContext, Fr[]];
    static empty(): PublicExecutionRequest;
    static random(): PublicExecutionRequest;
    isEmpty(): boolean;
    isForCallRequest(callRequest: PublicCallRequest): boolean;
    toCallRequest(): PublicCallRequest;
    [inspect.custom](): string;
}
//# sourceMappingURL=public_execution_request.d.ts.map