import { z } from 'zod';
import type { YagrRequiredAction } from '../types.js';
import { type ToolExecutionObserver } from './observer.js';
export declare function createRequestRequiredActionTool(observer?: ToolExecutionObserver): import("ai").Tool<z.ZodObject<{
    kind: z.ZodEnum<["input", "permission", "external"]>;
    title: z.ZodString;
    message: z.ZodString;
    detail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    resumable: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    blocking: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    message: string;
    resumable: boolean;
    title: string;
    kind: "input" | "permission" | "external";
    blocking: boolean;
    detail?: string | null | undefined;
}, {
    message: string;
    title: string;
    kind: "input" | "permission" | "external";
    resumable?: boolean | undefined;
    detail?: string | null | undefined;
    blocking?: boolean | undefined;
}>, YagrRequiredAction> & {
    execute: (args: {
        message: string;
        resumable: boolean;
        title: string;
        kind: "input" | "permission" | "external";
        blocking: boolean;
        detail?: string | null | undefined;
    }, options: import("ai").ToolExecutionOptions) => PromiseLike<YagrRequiredAction>;
};
//# sourceMappingURL=request-required-action.d.ts.map