import { z } from 'zod';
import { type ExecuteInput, type ToolName, type ToolArguments, type ExecuteOutput } from '../toolDefinition.js';
export declare const executeDatabaseQueryArgumentsSchema: z.ZodObject<{
    type: z.ZodEnum<{
        inline: "inline";
        reusable: "reusable";
    }>;
    database_connection_id: z.ZodOptional<z.ZodString>;
    query: z.ZodOptional<z.ZodString>;
    snippet_name: z.ZodOptional<z.ZodString>;
    snippet_id: z.ZodOptional<z.ZodString>;
    parameter_overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    assertions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        source: z.ZodEnum<{
            result: "result";
            metadata: "metadata";
        }>;
        target: z.ZodOptional<z.ZodString>;
        assertion: z.ZodEnum<{
            equals: "equals";
            does_not_equal: "does_not_equal";
            contains: "contains";
            does_not_contain: "does_not_contain";
            starts_with: "starts_with";
            starts_without: "starts_without";
            ends_with: "ends_with";
            ends_without: "ends_without";
            greater_than: "greater_than";
            less_than: "less_than";
            greater_than_or_equals: "greater_than_or_equals";
            less_than_or_equals: "less_than_or_equals";
            matches_regex: "matches_regex";
        }>;
        value: z.ZodString;
    }, z.core.$strip>>>;
    variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
        source: z.ZodEnum<{
            result: "result";
            metadata: "metadata";
        }>;
        target: z.ZodOptional<z.ZodString>;
        name: z.ZodString;
    }, z.core.$strip>>>;
}, z.core.$strip>;
/**
 * Response schema for execute_database_query tool.
 * The client should report any variables created by the query so the agent
 * has context for the next decision.
 */
export declare const executeDatabaseQueryResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    message: z.ZodOptional<z.ZodString>;
    created_variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.core.$strip>;
export declare const ExecuteDatabaseQueryToolDefinition: import("../toolDefinition.js").ToolDefinition<"execute_database_query", z.ZodObject<{
    type: z.ZodEnum<{
        inline: "inline";
        reusable: "reusable";
    }>;
    database_connection_id: z.ZodOptional<z.ZodString>;
    query: z.ZodOptional<z.ZodString>;
    snippet_name: z.ZodOptional<z.ZodString>;
    snippet_id: z.ZodOptional<z.ZodString>;
    parameter_overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    assertions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        source: z.ZodEnum<{
            result: "result";
            metadata: "metadata";
        }>;
        target: z.ZodOptional<z.ZodString>;
        assertion: z.ZodEnum<{
            equals: "equals";
            does_not_equal: "does_not_equal";
            contains: "contains";
            does_not_contain: "does_not_contain";
            starts_with: "starts_with";
            starts_without: "starts_without";
            ends_with: "ends_with";
            ends_without: "ends_without";
            greater_than: "greater_than";
            less_than: "less_than";
            greater_than_or_equals: "greater_than_or_equals";
            less_than_or_equals: "less_than_or_equals";
            matches_regex: "matches_regex";
        }>;
        value: z.ZodString;
    }, z.core.$strip>>>;
    variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
        source: z.ZodEnum<{
            result: "result";
            metadata: "metadata";
        }>;
        target: z.ZodOptional<z.ZodString>;
        name: z.ZodString;
    }, z.core.$strip>>>;
}, z.core.$strip>, undefined, z.ZodObject<{
    success: z.ZodBoolean;
    message: z.ZodOptional<z.ZodString>;
    created_variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.core.$strip>>;
export type ExecuteDatabaseQueryToolName = ToolName<typeof ExecuteDatabaseQueryToolDefinition>;
export type ExecuteDatabaseQueryToolArguments = ToolArguments<typeof ExecuteDatabaseQueryToolDefinition>;
export type ExecuteDatabaseQueryToolInput = ExecuteInput<typeof ExecuteDatabaseQueryToolDefinition>;
export type ExecuteDatabaseQueryToolOutput = ExecuteOutput<typeof ExecuteDatabaseQueryToolDefinition>;
//# sourceMappingURL=ExecuteDatabaseQueryDefinition.d.ts.map