import { type HasSql, internalField, internalSql } from '../Internal.js'; import type { SelectionRecord } from '../Selection.js'; import { type Decoder, type Sql } from '../Sql.js'; export interface FieldData { targetName: string; fieldName: string; source: Decoder; } export declare class Field implements HasSql { private brand; readonly [internalField]: FieldData; readonly [internalSql]: Sql; constructor(targetName: string, fieldName: string, source?: Decoder); } export type StripFieldMeta = Input extends HasSql ? HasSql : Input extends SelectionRecord ? { [Key in keyof Input]: StripFieldMeta; } : Input;