import { Middleware } from "koa"; import { BaseDocument } from "../database/base.type"; import { DataModel } from "../database/mongodb"; export interface Session { session: SessionObject; } export declare abstract class SessionDatabase extends DataModel { get(sessid: string): Promise; set(sessid: string, $update: UpdateOperator): Promise; init(session: Partial): Promise; destroy(sessid: string): Promise; } export declare type UpdateOperator = { $set?: Partial; $unset?: Record; }; export interface SessionOptions { cookieName?: string; timeoutMs?: number; } export declare function kMongooseSession(db: SessionDatabase, options?: SessionOptions): Middleware;