import { z } from 'zod';
/**
 * Schema for calling a contract function
 */
export declare const CallContractSchema: z.ZodObject<{
    contractAddress: z.ZodString;
    abi: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>;
    functionName: z.ZodString;
    params: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    value: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    abi: string | string[];
    functionName: string;
    contractAddress: string;
    value?: string | undefined;
    params?: any[] | undefined;
}, {
    abi: string | string[];
    functionName: string;
    contractAddress: string;
    value?: string | undefined;
    params?: any[] | undefined;
}>;
/**
 * Schema for deploying a contract
 */
export declare const DeployContractSchema: z.ZodObject<{
    bytecode: z.ZodString;
    abi: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>;
    constructorArgs: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
    value: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    abi: string | string[];
    bytecode: string;
    value?: string | undefined;
    constructorArgs?: any[] | undefined;
}, {
    abi: string | string[];
    bytecode: string;
    value?: string | undefined;
    constructorArgs?: any[] | undefined;
}>;
export type CallContractParams = z.infer<typeof CallContractSchema>;
export type DeployContractParams = z.infer<typeof DeployContractSchema>;
//# sourceMappingURL=schemas.d.ts.map