import { Type } from '@itrocks/class-type';
import { ReflectProperty } from './reflect-property';
export type ColumnDefinition = ReflectProperty<any, any>;
export type TableDefinition = Type<any>;
export declare function columnDefinitionOf(tableDefinition: TableDefinition, column: string): ColumnDefinition | undefined;
export declare function columnDefinitionsOf(tableDefinition: TableDefinition): Record<string, ColumnDefinition>;
export declare function columnOf(columnDefinition: ColumnDefinition): string;
export declare function isCollection(columnDefinition: ColumnDefinition): boolean;
export declare function isScalar(columnDefinition: ColumnDefinition): boolean;
export declare function rightColumnDefinitionOf(columnDefinition: ColumnDefinition): ColumnDefinition | undefined;
export declare function tableDefinitionOf(columnDefinition: ColumnDefinition): TableDefinition | undefined;
export declare function tableOf(tableDefinition: TableDefinition): string;
