import { Logical, VarFinder } from "../value"; import { Ctx } from "../ctx"; import { Clause } from "../clause"; import { Goal } from "../goal"; import { Schema } from "@xieyuheng/ty"; export declare class Table { clauses: Array>; name: string; schema: Schema; constructor(opts: { name: string; schema: Schema; }); i(data: Logical, premises?: (v: VarFinder, ctx: Ctx) => Array): void; o(data: Logical): Goal; query(data: Logical, opts?: { limit?: number; }): Array>; find(data: Logical, varSchemas: { [P in keyof R]: Schema; }, opts?: { limit?: number; }): Array; get(data: Logical): Logical | undefined; assertFound(data: Logical): void; assertNotFound(data: Logical): void; assertFindResults(opts: { data: Logical; projections: { [P in keyof R]: Schema; }; results: Array; limit?: number; }): void; }