import { SchemaContext } from '../ScaffoldingTemplate'; import { CubeDescriptor, DatabaseSchema, ScaffoldingSchema, TableName, TableSchema } from '../ScaffoldingSchema'; export type SchemaFile = { fileName: string; content: string; }; export type SchemaFormatterOptions = { snakeCase: boolean; catalog?: string | null; }; export declare abstract class BaseSchemaFormatter { protected readonly dbSchema: DatabaseSchema; protected readonly driver: any; protected readonly options: SchemaFormatterOptions; protected readonly scaffoldingSchema: ScaffoldingSchema; constructor(dbSchema: DatabaseSchema, driver: any, options: SchemaFormatterOptions); abstract fileExtension(): string; protected abstract cubeReference(cube: string): string; protected abstract renderFile(fileDescriptor: Record): string; generateFilesByTableNames(tableNames: TableName[], schemaContext?: SchemaContext): SchemaFile[]; generateFilesByCubeDescriptors(cubeDescriptors: CubeDescriptor[], schemaContext?: SchemaContext): SchemaFile[]; protected generateFilesByTableSchemas(tableSchemas: TableSchema[], schemaContext?: SchemaContext): SchemaFile[]; protected sqlForMember(m: any): string; protected memberTitle(m: any): any; protected memberName(member: { title: string; }): string; protected escapeName(name: any): any; protected eligibleIdentifier(name: string): boolean; protected schemaDescriptorForTable(tableSchema: TableSchema, schemaContext?: SchemaContext): { joins: { [x: string]: { sql: string; relationship: string; }; }; dimensions: { [x: string]: { [x: string]: any; sql: string; type: any; title: any; }; }; measures: { count: { type: string; }; }; sql_table: string; sql?: undefined; cube: string; } | { joins: { [x: string]: { sql: string; relationship: string; }; }; dimensions: { [x: string]: { [x: string]: any; sql: string; type: any; title: any; }; }; measures: { count: { type: string; }; }; sql: string; sql_table?: undefined; cube: string; }; protected tableSchemasByCubeDescriptors(cubeDescriptors: CubeDescriptor[]): TableSchema[]; } //# sourceMappingURL=BaseSchemaFormatter.d.ts.map