/**
 * Produces three middleware functions:
 *
 * - Set the session cookie
 * - Parse request cookies
 * - Handle expiry of server-side session
 *
 * @param {object} opts Options
 * @param {RequestHandler} opts.cookieParserMiddleware Cookie parsing middleware
 * @param {string} opts.secret Session encryption secret
 * @param {string} opts.name Session cookie name
 * @param {boolean} opts.secure Secure cookies only
 * @param {number} opts.ttl Session data time-to-live
 * @param {boolean | string} [opts.cookieSameSite] Cooke SameSite setting
 * @param {string} [opts.cookiePath] Cookie path
 * @param {object} [opts.store] Storage instance
 * @returns {RequestHandler[]} Middleware functions
 */
export default function sessionMiddleware({ cookieParserMiddleware, secret, name, secure, ttl, cookieSameSite, cookiePath, store, }: {
    cookieParserMiddleware: RequestHandler;
    secret: string;
    name: string;
    secure: boolean;
    ttl: number;
    cookieSameSite?: string | boolean | undefined;
    cookiePath?: string | undefined;
    store?: object | undefined;
}): RequestHandler[];
export type RequestHandler = import("express").RequestHandler;
