import { AppKitError } from "./base.js";

//#region src/errors/validation.d.ts

/**
 * Error thrown when input validation fails.
 * Use for invalid parameters, missing required fields, or type mismatches.
 *
 * @example
 * ```typescript
 * throw new ValidationError("Statement is required", { context: { field: "statement" } });
 * throw new ValidationError("maxPoolSize must be at least 1", { context: { value: config.maxPoolSize } });
 * ```
 */
declare class ValidationError extends AppKitError {
  readonly code = "VALIDATION_ERROR";
  readonly statusCode = 400;
  readonly isRetryable = false;
  /**
   * Create a validation error for a missing required field
   */
  static missingField(fieldName: string): ValidationError;
  /**
   * Create a validation error for an invalid field value.
   * Note: The actual value is not stored in context for security reasons.
   * Only the value's type is recorded.
   */
  static invalidValue(fieldName: string, value: unknown, expected?: string): ValidationError;
  /**
   * Create a validation error for missing environment variables
   */
  static missingEnvVars(vars: string[]): ValidationError;
}
//#endregion
export { ValidationError };
//# sourceMappingURL=validation.d.ts.map