export declare type DataType = 'string' | 'date' | 'boolean' | 'number' | 'text' | 'json'; export interface Column { name: string; type: DataType; isNullable: boolean; isPrimaryKey: boolean; isUniqueKey: boolean; } export interface Relation { primaryTable: string; foreignTable: string; primaryColumn: Pick; foreignColumn: Pick; } export declare type Columns = Column[]; export declare type Relations = Relation[]; export interface TableInfos { columns: Columns; relations: Relations; } export declare type ColumnType = string | number | JSON | Date | boolean | null; export declare type Row = Record; export declare type Rows = Row[]; export interface ConnectorSchema { name: string; type: 'db' | 'question'; tables: { name: string; displayName: string; alias?: string; columns: Columns; relations: Relations; }[]; } export declare type ConnectorSchemas = ConnectorSchema[]; export interface ConnectorQueryResult { query: string; columns: Columns; data: Rows; } export interface ConnectorCountQueryResult { query: string; count: number; } export interface ConnectorTablePreviewResult { tableInfos: TableInfos; rows: Rows; } export interface ConnectorTable { name: string; schema?: string; } export declare type LogLevel = 'log' | 'error' | 'warn' | 'debug' | 'verbose'; export interface AuthenticationConfigField { name: string; labelTranslationKey: string; defaultLabel: string; placeholderTranslationKey: string; defaultPlaceholder: string; defaultValue?: string | number | boolean; required: boolean; type: 'text' | 'number' | 'password' | 'boolean'; validationRegex?: string; } export interface ConnectorInfo { name: string; type: string; description: string; } export interface LoggerService { log(message: any, ...optionalParams: any[]): any; error(message: any, ...optionalParams: any[]): any; warn(message: any, ...optionalParams: any[]): any; debug?(message: any, ...optionalParams: any[]): any; verbose?(message: any, ...optionalParams: any[]): any; setLogLevels?(levels: LogLevel[]): any; }