import { z } from 'zod';
import { type ToolDescriptionContext } from '../defineTool';
export declare const GET_METADATA_DESCRIPTION: ({ runtime, }: ToolDescriptionContext) => string;
export declare const getMetadataInputSchema: z.ZodObject<{
    requests: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"explore">;
        exploreIds: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        type: "explore";
        exploreIds: string[];
    }, {
        type: "explore";
        exploreIds: string[];
    }>, z.ZodObject<{
        type: z.ZodLiteral<"field">;
        fields: z.ZodArray<z.ZodObject<{
            exploreId: z.ZodString;
            fieldId: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            fieldId: string;
            exploreId: string;
        }, {
            fieldId: string;
            exploreId: string;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        type: "field";
        fields: {
            fieldId: string;
            exploreId: string;
        }[];
    }, {
        type: "field";
        fields: {
            fieldId: string;
            exploreId: string;
        }[];
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    requests: ({
        type: "explore";
        exploreIds: string[];
    } | {
        type: "field";
        fields: {
            fieldId: string;
            exploreId: string;
        }[];
    })[];
}, {
    requests: ({
        type: "explore";
        exploreIds: string[];
    } | {
        type: "field";
        fields: {
            fieldId: string;
            exploreId: string;
        }[];
    })[];
}>;
export type ToolGetMetadataArgs = z.infer<typeof getMetadataInputSchema>;
export declare const getMetadataResultSchema: z.ZodObject<{
    explores: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        exploreId: z.ZodString;
        status: z.ZodLiteral<"found">;
        label: z.ZodString;
        description: z.ZodNullable<z.ZodString>;
        hint: z.ZodNullable<z.ZodString>;
        baseTable: z.ZodString;
        joinedTables: z.ZodArray<z.ZodString, "many">;
        requiredFilters: z.ZodArray<z.ZodObject<{
            fieldId: z.ZodString;
            fieldRef: z.ZodString;
            tableName: z.ZodString;
            operator: z.ZodString;
            values: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
            settings: z.ZodOptional<z.ZodUnknown>;
            required: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            required: boolean;
            operator: string;
            tableName: string;
            fieldId: string;
            fieldRef: string;
            values?: unknown[] | undefined;
            settings?: unknown;
        }, {
            required: boolean;
            operator: string;
            tableName: string;
            fieldId: string;
            fieldRef: string;
            values?: unknown[] | undefined;
            settings?: unknown;
        }>, "many">;
        baseDimensions: z.ZodObject<{
            count: z.ZodNumber;
            fieldIds: z.ZodArray<z.ZodString, "many">;
        }, "strip", z.ZodTypeAny, {
            count: number;
            fieldIds: string[];
        }, {
            count: number;
            fieldIds: string[];
        }>;
        baseMetrics: z.ZodObject<{
            count: z.ZodNumber;
            fieldIds: z.ZodArray<z.ZodString, "many">;
        }, "strip", z.ZodTypeAny, {
            count: number;
            fieldIds: string[];
        }, {
            count: number;
            fieldIds: string[];
        }>;
    }, "strip", z.ZodTypeAny, {
        label: string;
        description: string | null;
        status: "found";
        baseTable: string;
        joinedTables: string[];
        requiredFilters: {
            required: boolean;
            operator: string;
            tableName: string;
            fieldId: string;
            fieldRef: string;
            values?: unknown[] | undefined;
            settings?: unknown;
        }[];
        exploreId: string;
        hint: string | null;
        baseDimensions: {
            count: number;
            fieldIds: string[];
        };
        baseMetrics: {
            count: number;
            fieldIds: string[];
        };
    }, {
        label: string;
        description: string | null;
        status: "found";
        baseTable: string;
        joinedTables: string[];
        requiredFilters: {
            required: boolean;
            operator: string;
            tableName: string;
            fieldId: string;
            fieldRef: string;
            values?: unknown[] | undefined;
            settings?: unknown;
        }[];
        exploreId: string;
        hint: string | null;
        baseDimensions: {
            count: number;
            fieldIds: string[];
        };
        baseMetrics: {
            count: number;
            fieldIds: string[];
        };
    }>, z.ZodObject<{
        exploreId: z.ZodString;
        status: z.ZodLiteral<"not_found">;
        error: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        error: string;
        status: "not_found";
        exploreId: string;
    }, {
        error: string;
        status: "not_found";
        exploreId: string;
    }>]>, "many">;
    fields: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        exploreId: z.ZodString;
        fieldId: z.ZodString;
        status: z.ZodLiteral<"found">;
        kind: z.ZodEnum<["dimension", "metric"]>;
        fieldType: z.ZodString;
        label: z.ZodString;
        filterType: z.ZodString;
        isFromJoinedTable: z.ZodBoolean;
        joinedTableName: z.ZodNullable<z.ZodString>;
        caseSensitiveFilters: z.ZodNullable<z.ZodBoolean>;
        description: z.ZodNullable<z.ZodString>;
        hint: z.ZodNullable<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        label: string;
        fieldId: string;
        fieldType: string;
        description: string | null;
        status: "found";
        kind: "metric" | "dimension";
        caseSensitiveFilters: boolean | null;
        isFromJoinedTable: boolean;
        exploreId: string;
        hint: string | null;
        filterType: string;
        joinedTableName: string | null;
    }, {
        label: string;
        fieldId: string;
        fieldType: string;
        description: string | null;
        status: "found";
        kind: "metric" | "dimension";
        caseSensitiveFilters: boolean | null;
        isFromJoinedTable: boolean;
        exploreId: string;
        hint: string | null;
        filterType: string;
        joinedTableName: string | null;
    }>, z.ZodObject<{
        exploreId: z.ZodString;
        fieldId: z.ZodString;
        status: z.ZodLiteral<"not_found">;
        error: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        error: string;
        fieldId: string;
        status: "not_found";
        exploreId: string;
    }, {
        error: string;
        fieldId: string;
        status: "not_found";
        exploreId: string;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    fields: ({
        label: string;
        fieldId: string;
        fieldType: string;
        description: string | null;
        status: "found";
        kind: "metric" | "dimension";
        caseSensitiveFilters: boolean | null;
        isFromJoinedTable: boolean;
        exploreId: string;
        hint: string | null;
        filterType: string;
        joinedTableName: string | null;
    } | {
        error: string;
        fieldId: string;
        status: "not_found";
        exploreId: string;
    })[];
    explores: ({
        label: string;
        description: string | null;
        status: "found";
        baseTable: string;
        joinedTables: string[];
        requiredFilters: {
            required: boolean;
            operator: string;
            tableName: string;
            fieldId: string;
            fieldRef: string;
            values?: unknown[] | undefined;
            settings?: unknown;
        }[];
        exploreId: string;
        hint: string | null;
        baseDimensions: {
            count: number;
            fieldIds: string[];
        };
        baseMetrics: {
            count: number;
            fieldIds: string[];
        };
    } | {
        error: string;
        status: "not_found";
        exploreId: string;
    })[];
}, {
    fields: ({
        label: string;
        fieldId: string;
        fieldType: string;
        description: string | null;
        status: "found";
        kind: "metric" | "dimension";
        caseSensitiveFilters: boolean | null;
        isFromJoinedTable: boolean;
        exploreId: string;
        hint: string | null;
        filterType: string;
        joinedTableName: string | null;
    } | {
        error: string;
        fieldId: string;
        status: "not_found";
        exploreId: string;
    })[];
    explores: ({
        label: string;
        description: string | null;
        status: "found";
        baseTable: string;
        joinedTables: string[];
        requiredFilters: {
            required: boolean;
            operator: string;
            tableName: string;
            fieldId: string;
            fieldRef: string;
            values?: unknown[] | undefined;
            settings?: unknown;
        }[];
        exploreId: string;
        hint: string | null;
        baseDimensions: {
            count: number;
            fieldIds: string[];
        };
        baseMetrics: {
            count: number;
            fieldIds: string[];
        };
    } | {
        error: string;
        status: "not_found";
        exploreId: string;
    })[];
}>;
export declare const toolGetMetadataOutputSchema: z.ZodObject<{
    result: z.ZodString;
    metadata: z.ZodObject<{
        status: z.ZodEnum<["success", "error"]>;
    }, "strip", z.ZodTypeAny, {
        status: "error" | "success";
    }, {
        status: "error" | "success";
    }>;
}, "strip", z.ZodTypeAny, {
    metadata: {
        status: "error" | "success";
    };
    result: string;
}, {
    metadata: {
        status: "error" | "success";
    };
    result: string;
}>;
export type GetMetadataResult = z.infer<typeof getMetadataResultSchema>;
export type ToolGetMetadataOutput = z.infer<typeof toolGetMetadataOutputSchema>;
//# sourceMappingURL=toolGetMetadataArgs.d.ts.map