import { DatabaseConnection } from "../DatabaseConnection";
import { MakeMongoDbDatabaseConnectionParams } from "../MongoDbDatabaseConnection";
import { LoadPagesArgs, PageStore, PersistedPage } from "./Page";
import { Filter } from "mongodb";
export type MongoDbPageStore = DatabaseConnection & Omit<PageStore, "loadPages"> & {
    queryType: "mongodb";
    loadPages(args?: LoadPagesArgs<Filter<PersistedPage>>): Promise<PersistedPage[]>;
    metadata: {
        databaseName: string;
        collectionName: string;
    };
    init(): Promise<void>;
};
export type MakeMongoDbPageStoreParams = MakeMongoDbDatabaseConnectionParams & {
    /**
      The name of the collection in the database that stores {@link PersistedPage} documents.
      @default "pages"
     */
    collectionName?: string;
};
/**
  Data store for {@link Page} objects using MongoDB.
 */
export declare function makeMongoDbPageStore({ connectionUri, databaseName, collectionName, }: MakeMongoDbPageStoreParams): MongoDbPageStore;
//# sourceMappingURL=MongoDbPageStore.d.ts.map