import { z } from 'zod';
import { type ActionResult, type ConvertEmptyToValue, type ErrorActionResultWithoutFormData, type InvalidActionResultWithoutFormData, type SuccessActionResultWithoutFormData } from './types.js';
export declare class ActionClient {
    handleExceptionsAsFormErrors: boolean;
    onFormError?: (error: Error) => void;
    actionConvertEmptyTo: ConvertEmptyToValue;
    actionWithParamConvertEmptyTo: ConvertEmptyToValue;
    log: boolean;
    constructor(options?: {
        handleExceptionsAsFormErrors?: boolean;
        onFormError?: (error: Error) => void;
        actionConvertEmptyTo?: ConvertEmptyToValue;
        actionWithParamConvertEmptyTo?: ConvertEmptyToValue;
        log?: boolean;
    });
    action: <Schema extends z.ZodType<any>>(schema: Schema, fn: ({ data, formData, }: {
        data: z.infer<Schema>;
        formData: FormData;
    }) => Promise<SuccessActionResultWithoutFormData | InvalidActionResultWithoutFormData<Schema> | ErrorActionResultWithoutFormData>, options?: {
        handleExceptionsAsFormErrors?: boolean;
    }) => (_prevState: unknown, data: FormData) => Promise<ActionResult<Schema>>;
    actionWithParam: <Schema extends z.ZodType<any>>(schema: Schema, fn: ({ param, data, formData, }: {
        param: string;
        data: z.infer<Schema>;
        formData: FormData;
    }) => Promise<SuccessActionResultWithoutFormData | InvalidActionResultWithoutFormData<Schema> | ErrorActionResultWithoutFormData>, options?: {
        handleExceptionsAsFormErrors?: boolean;
    }) => (param: string, _prevState: unknown, data: FormData) => Promise<ActionResult<Schema>>;
    /**
     * Checks if an error is a Next.js internal error that should be re-thrown.
     * Next.js internal errors have a `digest` property starting with "NEXT_".
     */
    private isNextInternalError;
}
//# sourceMappingURL=actions.d.ts.map