import type { AgentDefinition } from '@levelcode/common/templates/initial-agents-dir/types/agent-definition';
export interface ValidationResult {
    success: boolean;
    validationErrors: Array<{
        id: string;
        message: string;
    }>;
    errorCount: number;
}
export interface ValidateAgentsOptions {
    /**
     * Whether to perform remote validation via the web API.
     * Remote validation checks spawnable agents against the database.
     */
    remote?: boolean;
    /**
     * The base URL of the LevelCode website API.
     * Optional - defaults to NEXT_PUBLIC_LEVELCODE_APP_URL or environment-based URL.
     * Example: 'https://levelcode.vercel.app'
     */
    websiteUrl?: string;
}
/**
 * Validates an array of agent definitions.
 *
 * By default, performs local Zod schema validation.
 * When `options.remote` is true, additionally validates spawnable agents via the web API.
 *
 * @param definitions - Array of agent definitions to validate
 * @param options - Optional configuration for validation
 * @returns Promise<ValidationResult> - Validation results with any errors
 *
 * @example
 * ```typescript
 * // Local validation only
 * const result = await validateAgents(definitions)
 *
 * // Remote validation
 * const result = await validateAgents(definitions, {
 *   remote: true,
 *   websiteUrl: 'https://levelcode.vercel.app'
 * })
 * ```
 */
export declare function validateAgents(definitions: AgentDefinition[], options?: ValidateAgentsOptions): Promise<ValidationResult>;
