import { Database } from './database'; import { Document } from './document'; import { Query } from './query'; declare class Collection { private static _DEFAULT_INDEX; private static _RESERVED; name: string; schema: object; private _database; private _documents; private _indexes; constructor(database: Database, name: string, schema?: object); count(): Query; empty(): void; exportJSON(): string; find(): Query; findOne(id?: string): Query; get(id: string): Document; importJSON(json: string, overwrite?: boolean): void; index(...keys: string[]): void; insert(document: Document, overwrite?: boolean): Document; list(): string[]; remove(id: string): void; remove(doc: Document): void; remove(docs: Document[]): void; upsert(document: Document): Document; values(name?: string): Document[]; } declare function createCollectionProxy(database: Database, name: string, schema?: object): Collection; export { Collection, createCollectionProxy };