import { Driver } from "../Driver"; import { MongoQueryRunner } from "./MongoQueryRunner"; import { ObjectLiteral } from "../../common/ObjectLiteral"; import { ColumnMetadata } from "../../metadata/ColumnMetadata"; import { Connection } from "../../connection/Connection"; import { MongoConnectionOptions } from "./MongoConnectionOptions"; import { MappedColumnTypes } from "../types/MappedColumnTypes"; import { ColumnType } from "../types/ColumnTypes"; import { MongoSchemaBuilder } from "../../schema-builder/MongoSchemaBuilder"; import { DataTypeDefaults } from "../types/DataTypeDefaults"; import { TableColumn } from "../../schema-builder/table/TableColumn"; import { ConnectionOptions } from "../../connection/ConnectionOptions"; import { EntityMetadata } from "../../metadata/EntityMetadata"; export declare class MongoDriver implements Driver { protected connection: Connection; queryRunner?: MongoQueryRunner; options: MongoConnectionOptions; database?: string; isReplicated: boolean; treeSupport: boolean; supportedDataTypes: ColumnType[]; spatialTypes: ColumnType[]; withLengthColumnTypes: ColumnType[]; withPrecisionColumnTypes: ColumnType[]; withScaleColumnTypes: ColumnType[]; mappedDataTypes: MappedColumnTypes; dataTypeDefaults: DataTypeDefaults; protected mongodb: any; constructor(connection: Connection); connect(): Promise; afterConnect(): Promise; disconnect(): Promise; createSchemaBuilder(): MongoSchemaBuilder; createQueryRunner(mode?: "master" | "slave"): MongoQueryRunner; escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]]; escape(columnName: string): string; buildTableName(tableName: string, schema?: string, database?: string): string; preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any; prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any; normalizeType(column: { type?: ColumnType; length?: number | string; precision?: number | null; scale?: number; }): string; normalizeDefault(columnMetadata: ColumnMetadata): string; normalizeIsUnique(column: ColumnMetadata): boolean; getColumnLength(column: ColumnMetadata): string; createFullType(column: TableColumn): string; obtainMasterConnection(): Promise; obtainSlaveConnection(): Promise; createGeneratedMap(metadata: EntityMetadata, insertedId: any): any; findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[]; isReturningSqlSupported(): boolean; isUUIDGenerationSupported(): boolean; createParameter(parameterName: string, index: number): string; protected validateOptions(options: ConnectionOptions): void; protected loadDependencies(): any; protected buildConnectionUrl(): string; }