/**
 * Pure Zod schemas that are shared across multiple tool definitions.
 * This file should ONLY import from 'zod' and other files within toolLibrary/.
 */
import { z } from 'zod';
/**
 * Shared list of comparison operators available across mabl assertion step types
 * (variable assertions, API response assertions, DB query assertions, conditionals, etc.).
 * Mirrors `comparisonTypeEnum` in mabl-cli/test-model/src/validator/schemas/condition-descriptor.ts
 * and `ComparisonType` in mabl-cli/test-model/src/types/ConditionDescriptor.ts.
 */
export declare const COMPARISON_TYPES: readonly ["equals", "does_not_equal", "contains", "does_not_contain", "starts_with", "starts_without", "ends_with", "ends_without", "greater_than", "less_than", "greater_than_or_equals", "less_than_or_equals", "matches_regex"];
export declare const comparisonTypeEnum: 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";
}>;
export type ComparisonType = z.infer<typeof comparisonTypeEnum>;
export declare const boundingBoxSchema: z.ZodObject<{
    top: z.ZodNumber;
    left: z.ZodNumber;
    bottom: z.ZodNumber;
    right: z.ZodNumber;
}, z.core.$strip>;
export type BoundingBox = z.infer<typeof boundingBoxSchema>;
export declare const targetPointSchema: z.ZodObject<{
    x: z.ZodNumber;
    y: z.ZodNumber;
}, z.core.$strip>;
export type TargetPoint = z.infer<typeof targetPointSchema>;
export declare const flowInfoSchema: z.ZodObject<{
    invariant_id: z.ZodString;
    application_id: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    usage_count: z.ZodOptional<z.ZodNumber>;
    creation_url: z.ZodOptional<z.ZodString>;
    preconditions: z.ZodOptional<z.ZodString>;
    summary: z.ZodOptional<z.ZodString>;
    steps: z.ZodOptional<z.ZodString>;
    snippets: z.ZodOptional<z.ZodString>;
    parameters: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        default_value: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type FlowInfo = z.infer<typeof flowInfoSchema>;
export declare const snippetInfoSchema: z.ZodObject<{
    invariant_id: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    snippet_type: z.ZodOptional<z.ZodString>;
    body: z.ZodOptional<z.ZodString>;
    body_truncated: z.ZodOptional<z.ZodBoolean>;
    body_length: z.ZodOptional<z.ZodNumber>;
    parameters: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        default_value: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type SnippetInfo = z.infer<typeof snippetInfoSchema>;
/**
 * Schema for source control context - shared across deployment and test run analysis tools.
 * Contains information about the git revision, branch, PR, and repository.
 */
export declare const sourceControlContextSchema: z.ZodObject<{
    revision: z.ZodOptional<z.ZodString>;
    branchName: z.ZodOptional<z.ZodString>;
    commitUsername: z.ZodOptional<z.ZodString>;
    repositoryUrl: z.ZodOptional<z.ZodString>;
    repositoryName: z.ZodOptional<z.ZodString>;
    pullRequestUrl: z.ZodOptional<z.ZodString>;
    pullRequestTitle: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SourceControlContext = z.infer<typeof sourceControlContextSchema>;
//# sourceMappingURL=schemas.d.ts.map