///
import { MongoConnection } from './MongoConnection';
import { MongoDocument, AggregationQuery, MongoCommandResult } from './MongoTypes';
import { MapFunction, ReduceFunction } from './MongoClientFunctions/mapReduce';
import ReadableStream = NodeJS.ReadableStream;
export declare class MongoClient extends MongoConnection {
nextSequenceId(db: string, name: string, sparse: boolean): Promise;
increase(db: string, collection: string, filter: any, key: string, count?: number): Promise;
updateMany(db: string, collection: string, updates: Array): Promise;
insertOne(db: string, collection: string, doc: MongoDocument): Promise;
insertMany(db: string, collection: string, docs: Array): any;
deleteMany(db: string, collection: string, docs: Array): any;
find(db: string, collection: string, filter?: any, projection?: any, sort?: any, skip?: number, limit?: number): Promise>;
findOne(db: string, collection: string, filter: any, options?: any): Promise;
findAndModify(db: string, collection: string, filter: any, options?: any): Promise;
aggregate(db: string, collection: string, pipeline: Array, options: any): ReadableStream;
aggregation(db: string, collection: string, query: AggregationQuery, options?: any): Promise>;
count(db: string, collection: string, filter: any, skip?: number, limit?: number): Promise;
distinct(db: string, collection: string, key: string, filter?: any): Promise>;
mapReduce- (db: string, collection: string, map: MapFunction, reduce: ReduceFunction
- , filter?: any, options?: any): Promise;
geoNear(db: string, collection: string, near: [number, number], filter?: any, limit?: number, options?: any): Promise;
geoNearSpherical(db: string, collection: string, near: any, filter?: any, limit?: number, options?: any): Promise;
run(db: string, command: any): Promise;
createIndex(db: string, collection: string, indexes: Array): Promise;
listIndex(db: string, collection: string): Promise;
dropIndex(db: string, collection: string, index: string): Promise;
currentOp(): Promise;
featureCompatibilityVersion(version: string): Promise;
touch(db: string, collection: string): Promise;
createCollection(db: string, collection: string, config: any): Promise;
listCollections(db: string): Promise;
dropCollection(db: string, collection: string): Promise;
createView(db: string, collection: string, config: any): Promise;
dropView(db: string, collection: string): Promise;
serverStatus(): Promise;
dbStats(db: string): Promise;
collStats(db: string, collection: string): Promise;
listDatabases(): Promise;
}