import { Column } from './Column'; import { Select } from './Select'; import { Insert } from './Insert'; import { Update } from './Update'; import { Delete } from './Delete'; import { Join } from './Join'; import { Count } from './Count'; import { MapOptions, Mapper } from '../utils/Mapper'; import { PropertyOptions } from '../utils/Property'; import { Database } from '../data/Database'; import { Json } from '../types/Json'; export declare class Table extends Mapper { protected readonly map: { column: (name: string, options?: PropertyOptions) => Column; item: (property: string, options?: PropertyOptions) => import("../utils/Property").Property; ignore: (property?: string) => import("../utils/Mapper").Mapping; skipIn: (property: string) => import("../utils/Mapper").Mapping; skipOut: (property: string) => import("../utils/Mapper").Mapping; func: (property: string, funcIn: import("..").Get, Json>, funcOut: import("..").Get, Json>) => import("../utils/Mapper").Mapping; add: (funcIn: import("..").Get) => import("../utils/Mapper").Mapping; map: (mapper: import("..").Construct, property?: string) => import("../utils/Mapper").Mapping; propsToList: (...maps: import("../utils/Mapper").Mapping[]) => import("../utils/Mapper").Mapping; list: (mapper: import("../utils/Mapper").Mapping, property: string) => import("../utils/Mapper").Mapping; }; readonly id: Column; constructor(options?: MapOptions); get db(): Database; get count(): Count; prop: (name: string, options?: PropertyOptions) => Column; select: (...columns: Column[]) => Select; insert: (fields: Json) => Insert; update: (fields: Json) => Update; delete: () => Delete; readonly join: (t: Table) => Join; }