import type { TableSchema, ReducerSchema, TypeMetadata } from '../types'; import type { ManagedConnection } from '../client/connection'; /** * Extract schema information from a connected SpacetimeDB database */ export declare class SchemaIntrospector { private readonly connection; constructor(connection: ManagedConnection); /** * Discover all tables in the database */ discoverTables(): Promise; /** * Get schema for a specific table */ getTableSchema(tableName: string): Promise; /** * Discover all reducers in the database */ discoverReducers(): Promise; /** * Get schema for a specific reducer */ getReducerSchema(reducerName: string): Promise; /** * Parse SpacetimeDB type string into TypeMetadata * * Example type strings: * - "u32" * - "Option" * - "Vec" * - "MyStruct { field1: u64, field2: string }" */ parseTypeString(typeStr: string): TypeMetadata; /** * Get complete schema metadata (tables + reducers) */ getFullSchema(): Promise<{ tables: TableSchema[]; reducers: ReducerSchema[]; }>; } /** * Helper to extract table names from schema */ export declare function getTableNames(tables: TableSchema[]): string[]; /** * Helper to find table by name */ export declare function findTable(tables: TableSchema[], name: string): TableSchema | undefined; /** * Helper to get primary key column name */ export declare function getPrimaryKeyColumn(table: TableSchema): string | null; //# sourceMappingURL=introspection.d.ts.map