import type { JSONValue } from '../../shared/src/json.ts'; import type { Value } from '../../zero-protocol/src/data.ts'; import type { TableSchema } from './table-schema.ts'; type ColumnNames = { [src: string]: string; }; type DestNames = { tableName: string; columns: ColumnNames; allColumnsSame: boolean; }; export declare function clientToServer(tables: Record): NameMapper; export declare function serverToClient(tables: Record): NameMapper; /** * Returns an "identity" NameMapper that simply serves the purpose * of validating that all table and column names conform to the * specified `tablesToColumns` map. */ export declare function validator(tablesToColumns: Map): NameMapper; export declare class NameMapper { #private; constructor(tables: Map); tableName(src: string, context?: JSONValue): string; columnName(table: string, src: string, ctx?: JSONValue): string; row(table: string, row: Readonly>): Readonly>; columns(table: string, cols: Columns): Columns; } export {}; //# sourceMappingURL=name-mapper.d.ts.map