export type AiToolTarget = { selected: true; } | { id: string; } | { uid: string; } | { type: string; index?: number; }; export type AiToolCall = { name: "update_text"; target: AiToolTarget; text: string; } | { name: "update_attribute"; target: AiToolTarget; key: string; value: unknown; } | { name: "update_mobile_attribute"; target: AiToolTarget; key: string; value: unknown; } | { name: "update_attributes"; target: AiToolTarget; attributes: Record; scope?: "desktop" | "mobile"; } | { name: "update_data"; target: AiToolTarget; key: string; value: unknown; } | { name: "replace_children"; target: AiToolTarget; children: unknown[]; } | { name: "set_visibility"; target: AiToolTarget; desktop: boolean; mobile: boolean; } | { name: "replace_block"; target: AiToolTarget; block: unknown; } | { name: "update_link"; target: AiToolTarget; href: string; blank?: boolean; title?: string; } | { name: "move_up" | "move_down" | "duplicate" | "delete_node"; target: AiToolTarget; } | { name: "add_block_after"; target: AiToolTarget; block: unknown; } | { name: "add_block_before"; target: AiToolTarget; block: unknown; } | { name: "select_node"; target: AiToolTarget; } | { name: "apply_template"; template: unknown; }; export type AiAppliedChange = { id: string; label: string; description: string; target: AiToolTarget; path?: number[]; }; export type EasyEmailToolCallsPayload = { summary?: string | null; toolCalls: AiToolCall[]; fallbackTemplate?: unknown | null; }; export type EasyEmailToolCallsPayloadInput = Partial & { summary?: string | null; toolCalls?: AiToolCall[]; fallbackTemplate?: unknown | null; tool_calls?: AiToolCall[]; fallback_template?: unknown | null; }; export type AiToolApplyResult = { applied: number; skipped: number; errors: string[]; changes?: AiAppliedChange[]; }; export declare const missingInitialSelectionTarget: { id: string; }; export declare function isSelectedTarget(target: AiToolTarget): boolean; export declare function normalizeToolCallsPayload(payload: EasyEmailToolCallsPayloadInput): { toolCalls: AiToolCall[]; fallbackTemplate: unknown; summary?: string | null; tool_calls?: AiToolCall[]; fallback_template?: unknown | null; }; export declare function freezeSelectedTargets(toolCalls: AiToolCall[], selectedTarget: AiToolTarget | null): AiToolCall[];