import { z } from 'zod';
export declare function normalizeStepsArg(value: unknown): unknown[];
type ValidateMablTestArgs = {
    steps: unknown[];
    options?: {
        testType?: 'browser' | 'mobile';
        strict?: boolean;
    };
};
export declare const validateMablTestArgsSchema: z.ZodType<ValidateMablTestArgs, unknown>;
type GetMablSchemaResourceArgs = {
    uri: string;
    testType?: 'browser' | 'mobile';
};
export declare const getMablSchemaResourceArgsSchema: z.ZodType<GetMablSchemaResourceArgs, unknown>;
type ListMablExamplesArgs = {
    search?: string;
    tags?: string[];
    appliesTo?: 'browser' | 'mobile';
};
export declare const listMablExamplesArgsSchema: z.ZodType<ListMablExamplesArgs, unknown>;
type GetMablExampleArgs = {
    id: string;
};
export declare const getMablExampleArgsSchema: z.ZodType<GetMablExampleArgs, unknown>;
type GetMablAuthoringGuideArgs = {
    uri: string;
};
export declare const getMablAuthoringGuideArgsSchema: z.ZodType<GetMablAuthoringGuideArgs, unknown>;
export declare const authoringGuideResourceSchema: z.ZodObject<{
    uri: z.ZodString;
    description: z.ZodString;
    content: z.ZodString;
}, z.core.$strip>;
export interface MablAuthoringToolDescriptor {
    name: string;
    title: string;
    description: string;
    argsSchema: z.ZodTypeAny;
    responseSchema: z.ZodTypeAny;
}
export declare const MABL_AUTHORING_TOOLS: {
    mablValidate: {
        name: string;
        title: string;
        description: string;
        argsSchema: z.ZodType<ValidateMablTestArgs, unknown, z.core.$ZodTypeInternals<ValidateMablTestArgs, unknown>>;
        responseSchema: z.ZodObject<{
            valid: z.ZodBoolean;
            errors: z.ZodArray<z.ZodObject<{
                path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
                message: z.ZodString;
                code: z.ZodString;
                suggestion: z.ZodOptional<z.ZodString>;
                example: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            warnings: z.ZodArray<z.ZodObject<{
                path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
                message: z.ZodString;
                code: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>;
    };
    mablGetSchemaResource: {
        name: string;
        title: string;
        description: string;
        argsSchema: z.ZodType<GetMablSchemaResourceArgs, unknown, z.core.$ZodTypeInternals<GetMablSchemaResourceArgs, unknown>>;
        responseSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    };
    mablListExamples: {
        name: string;
        title: string;
        description: string;
        argsSchema: z.ZodType<ListMablExamplesArgs, unknown, z.core.$ZodTypeInternals<ListMablExamplesArgs, unknown>>;
        responseSchema: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            title: z.ZodString;
            tags: z.ZodArray<z.ZodString>;
            appliesTo: z.ZodArray<z.ZodEnum<{
                mobile: "mobile";
                browser: "browser";
            }>>;
        }, z.core.$strip>>;
    };
    mablGetExample: {
        name: string;
        title: string;
        description: string;
        argsSchema: z.ZodType<GetMablExampleArgs, unknown, z.core.$ZodTypeInternals<GetMablExampleArgs, unknown>>;
        responseSchema: z.ZodObject<{
            id: z.ZodString;
            title: z.ZodString;
            tags: z.ZodArray<z.ZodString>;
            appliesTo: z.ZodArray<z.ZodEnum<{
                mobile: "mobile";
                browser: "browser";
            }>>;
            snippet: z.ZodRecord<z.ZodString, z.ZodUnknown>;
            validatedAgainst: z.ZodString;
            seeAlso: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
    };
    mablGetAuthoringGuide: {
        name: string;
        title: string;
        description: string;
        argsSchema: z.ZodType<GetMablAuthoringGuideArgs, unknown, z.core.$ZodTypeInternals<GetMablAuthoringGuideArgs, unknown>>;
        responseSchema: z.ZodObject<{
            uri: z.ZodString;
            description: z.ZodString;
            content: z.ZodString;
        }, z.core.$strip>;
    };
};
export type MablAuthoringToolName = (typeof MABL_AUTHORING_TOOLS)[keyof typeof MABL_AUTHORING_TOOLS]['name'];
export {};
//# sourceMappingURL=tools.d.ts.map