import type { Table } from './runtime.ts';
/**
 * Talos tables read off a Drizzle schema, so an app does not declare its
 * data twice.
 *
 *   const tables = fromDrizzle(schema, { blogPosts: { as: 'articles', says: ['blog'] } })
 *
 * Every table of the module becomes a Talos table: its columns (logical name =
 * the column's own name with spaces for underscores, physical = the column),
 * enum domains, and how booleans, dates and JSON read back. Keys of `extra` are
 * the module's export names; what they hold is merged over the derived table —
 * the word the model sees (`as`), synonyms, rules, relations, lists. `false`
 * leaves a table out.
 *
 * Duck-typed on Drizzle's `Symbol.for('drizzle:…')` markers, so Talos does not
 * depend on drizzle-orm and works with any of its dialects.
 */
export declare function fromDrizzle(schema: Record<string, unknown>, extra?: Record<string, Partial<Table> | false>): Table[];
