import { ArrayType } from './ArrayType.js';
import type { Platform } from '../platforms/Platform.js';
import type { TransformContext } from './Type.js';
import type { EntityProperty } from '../typings.js';
/** Maps a database array column to a JS array of enum values, with validation against allowed enum items. */
export declare class EnumArrayType<T extends string | number = string> extends ArrayType<T> {
  private readonly owner;
  private readonly items?;
  constructor(owner: string, items?: T[] | undefined, hydrate?: (i: string) => T);
  convertToDatabaseValue(value: T[] | null, platform: Platform, context?: TransformContext): string | null;
  getColumnType(prop: EntityProperty, platform: Platform): string;
}
