import { z } from 'zod';
export declare const TOOL_ANALYZE_FIELD_IMPACT_DESCRIPTION = "Tool: analyzeFieldImpact\n\nPurpose:\nCompute the EXACT impact of changing or removing a single semantic-layer field (a metric or dimension) BEFORE the change is made. Use this whenever the user is about to remove, rename, deduplicate or otherwise alter a field and asks \"what uses this?\", \"what will this break?\", or \"what's the impact?\".\n\nThis is a deterministic lookup over saved content \u2014 NOT a fuzzy search. Prefer it over findContent/searchSemanticLayer when you already know the exact field id and need a reliable blast radius. It returns:\n- the saved charts that directly reference the field\n- the dashboards that embed those charts\n- dashboards whose filters target the field\n- other metrics built on this metric (metric-on-metric dependencies that break with no chart between them)\n- scheduled deliveries / alerts on the affected charts or dashboards\n- a severity: \"breaking\" if anything references the field, otherwise \"safe\"\n\nParameters:\n- fieldId: The exact field id to analyze, formatted as \"<table>_<fieldName>\" (e.g. \"orders_total_revenue\"). This is the id used in chart definitions, not the human label. Use findFields / searchSemanticLayer first if you only have a label and need the id.\n\nOutput:\n- A structured impact report with counts plus the named charts, dashboards, dependent metrics and scheduled deliveries.\n\nImportant:\nThis tool reports field REFERENCES, not field VALUES. It cannot detect silent value-drift \u2014 a field whose id stays the same but whose underlying SQL/aggregation changes (so numbers move without breaking anything), nor whether a value-affecting change preserves the numbers it claims to (merging onto another field, splitting a metric into parts, replacing or refactoring a definition). A \"safe\" reference result does NOT prove a change is value-correct. When a change rests on a value claim \u2014 fields are equivalent, a split reconstructs the original, a refactor leaves results unchanged \u2014 prove it separately before calling the change safe: by construction (the same aggregation/column/model, a uniqueness guarantee such as a row_number() = 1 dedup or a primary key, or a true partition) or by data (run the relevant fields at a total grain and across a time dimension and confirm the expected relationship). Surface any divergence instead of asserting safety.\n";
export declare const toolAnalyzeFieldImpactArgsSchema: z.ZodObject<{
    fieldId: z.ZodString;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    fieldId: string;
}, {
    fieldId: string;
}>;
export declare const toolAnalyzeFieldImpactOutputSchema: 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 ToolAnalyzeFieldImpactArgs = z.infer<typeof toolAnalyzeFieldImpactArgsSchema>;
export type ToolAnalyzeFieldImpactArgsTransformed = ToolAnalyzeFieldImpactArgs;
export type ToolAnalyzeFieldImpactOutput = z.infer<typeof toolAnalyzeFieldImpactOutputSchema>;
//# sourceMappingURL=toolAnalyzeFieldImpactArgs.d.ts.map