import { ArrayType } from './ArrayType.js';
import { BigIntType } from './BigIntType.js';
import { BlobType } from './BlobType.js';
import { BooleanType } from './BooleanType.js';
import { DateTimeType } from './DateTimeType.js';
import { DateType } from './DateType.js';
import { DecimalType } from './DecimalType.js';
import { DoubleType } from './DoubleType.js';
import { EnumArrayType } from './EnumArrayType.js';
import { EnumType } from './EnumType.js';
import { CharacterType } from './CharacterType.js';
import { FloatType } from './FloatType.js';
import { IntegerType } from './IntegerType.js';
import { IntervalType } from './IntervalType.js';
import { JsonType } from './JsonType.js';
import { MediumIntType } from './MediumIntType.js';
import { SmallIntType } from './SmallIntType.js';
import { StringType } from './StringType.js';
import { TextType } from './TextType.js';
import { TimeType } from './TimeType.js';
import { TinyIntType } from './TinyIntType.js';
import { type IType, type TransformContext, Type } from './Type.js';
import { Uint8ArrayType } from './Uint8ArrayType.js';
import { UnknownType } from './UnknownType.js';
import { UuidType } from './UuidType.js';
export type { TransformContext, IType };
export {
  Type,
  DateType,
  TimeType,
  DateTimeType,
  BigIntType,
  BlobType,
  Uint8ArrayType,
  ArrayType,
  EnumArrayType,
  EnumType,
  JsonType,
  IntegerType,
  SmallIntType,
  TinyIntType,
  MediumIntType,
  FloatType,
  DoubleType,
  BooleanType,
  DecimalType,
  StringType,
  UuidType,
  TextType,
  UnknownType,
  IntervalType,
  CharacterType,
};
/** Registry of all built-in type constructors, keyed by their short name (e.g., `types.integer`, `types.uuid`). */
export declare const types: {
  readonly date: typeof DateType;
  readonly time: typeof TimeType;
  readonly datetime: typeof DateTimeType;
  readonly bigint: typeof BigIntType;
  readonly blob: typeof BlobType;
  readonly uint8array: typeof Uint8ArrayType;
  readonly array: typeof ArrayType;
  readonly enumArray: typeof EnumArrayType;
  readonly enum: typeof EnumType;
  readonly json: typeof JsonType;
  readonly integer: typeof IntegerType;
  readonly smallint: typeof SmallIntType;
  readonly tinyint: typeof TinyIntType;
  readonly mediumint: typeof MediumIntType;
  readonly float: typeof FloatType;
  readonly double: typeof DoubleType;
  readonly boolean: typeof BooleanType;
  readonly decimal: typeof DecimalType;
  readonly character: typeof CharacterType;
  readonly string: typeof StringType;
  readonly uuid: typeof UuidType;
  readonly text: typeof TextType;
  readonly interval: typeof IntervalType;
  readonly unknown: typeof UnknownType;
};
/** Shorthand alias for the `types` registry. */
export declare const t: {
  readonly date: typeof DateType;
  readonly time: typeof TimeType;
  readonly datetime: typeof DateTimeType;
  readonly bigint: typeof BigIntType;
  readonly blob: typeof BlobType;
  readonly uint8array: typeof Uint8ArrayType;
  readonly array: typeof ArrayType;
  readonly enumArray: typeof EnumArrayType;
  readonly enum: typeof EnumType;
  readonly json: typeof JsonType;
  readonly integer: typeof IntegerType;
  readonly smallint: typeof SmallIntType;
  readonly tinyint: typeof TinyIntType;
  readonly mediumint: typeof MediumIntType;
  readonly float: typeof FloatType;
  readonly double: typeof DoubleType;
  readonly boolean: typeof BooleanType;
  readonly decimal: typeof DecimalType;
  readonly character: typeof CharacterType;
  readonly string: typeof StringType;
  readonly uuid: typeof UuidType;
  readonly text: typeof TextType;
  readonly interval: typeof IntervalType;
  readonly unknown: typeof UnknownType;
};
