import type { QueryMeta } from './MetaData.js'; import type { Resolver } from './Resolver.js'; import type { Selection } from './Selection.js'; import type { Sql } from './Sql.js'; import type { TableApi, TableDefinition } from './Table.js'; import type { FieldData } from './expr/Field.js'; export declare const internalData: unique symbol; export declare const internalSql: unique symbol; export declare const internalSelection: unique symbol; export declare const internalTarget: unique symbol; export declare const internalQuery: unique symbol; export declare const internalBatch: unique symbol; export declare const internalTable: unique symbol; export declare const internalField: unique symbol; export declare const internalResolver: unique symbol; export declare const internalConstraint: unique symbol; export declare const internalInclude: unique symbol; export declare class HasData { get [internalData](): Data; } export declare class HasSql { get [internalSql](): Sql; } export declare class HasSelection { get [internalSelection](): Selection; } export declare class HasTarget { get [internalTarget](): Sql; private brand?; } export declare class HasQuery { get [internalQuery](): Sql; } export declare class HasBatch { get [internalBatch](): Array; } export declare class HasTable extends HasTarget { get [internalTable](): TableApi; } export declare class HasField { get [internalField](): FieldData; } export declare class HasResolver { get [internalResolver](): Resolver; } export declare class HasConstraint { get [internalConstraint](): Sql; } export declare const hasData: (obj: object) => obj is HasData; export declare const getData: (obj: HasData) => Data; export declare const hasSql: (obj: object) => obj is HasSql; export declare const getSql: (obj: HasSql) => Sql; export declare const hasSelection: (obj: object) => obj is HasSelection; export declare const getSelection: (obj: HasSelection) => Selection; export declare const hasTarget: (obj: object) => obj is HasTarget; export declare const getTarget: (obj: HasTarget) => Sql; export declare const hasQuery: (obj: object) => obj is HasQuery; export declare const getQuery: (obj: HasQuery) => Sql; export declare const hasBatch: (obj: object) => obj is HasBatch; export declare const getBatch: (obj: HasBatch) => Sql[]; export declare const hasTable: (obj: object) => obj is HasTable; export declare const getTable: (obj: HasTable) => TableApi; export declare const hasField: (obj: object) => obj is HasField; export declare const getField: (obj: HasField) => FieldData; export declare const hasResolver: (obj: object) => obj is HasResolver; export declare const getResolver: (obj: HasResolver) => Resolver; export declare const hasConstraint: (obj: object) => obj is HasConstraint; export declare const getConstraint: (obj: HasConstraint) => Sql;