import { ElementCrudContext } from './types.js';
import { ValidationService } from '../../services/validation/ValidationService.js';
/**
 * GraphQL-aligned input for editing elements.
 * Uses nested objects (like create_element) instead of MongoDB-style dot notation.
 *
 * @example
 * // Update description and nested metadata
 * {
 *   name: "my-skill",
 *   type: "skills",
 *   input: {
 *     description: "Updated description",
 *     metadata: {
 *       triggers: ["code", "review"],
 *       settings: { theme: "dark" }
 *     }
 *   }
 * }
 */
export interface EditElementArgs {
    name: string;
    type: string;
    /** Nested input object - fields are deep-merged with existing element */
    input: Record<string, unknown>;
}
/**
 * Edit an existing element using GraphQL-aligned nested input.
 *
 * @param context - Element CRUD context with managers
 * @param args - Edit arguments (name, type, input)
 * @param validationService - Optional validation service for DI (creates default if not provided)
 */
export declare function editElement(context: ElementCrudContext, args: EditElementArgs, validationService?: ValidationService): Promise<{
    content: {
        type: string;
        text: string;
    }[];
}>;
//# sourceMappingURL=editElement.d.ts.map