/**
 * Data middleware.
 *
 * Decorates the request with some contextual data about the user's journey
 * through the application. This is used by downstream middleware and
 * templates.
 *
 * @param {object} opts Options
 * @param {Plan} opts.plan CASA Plan
 * @param {ContextEventHandler[]} opts.events Event handlers
 * @param {ContextIdGenerator} opts.contextIdGenerator Content ID generator
 * @param {boolean} ops.govukRebrand Govuk rebrand feature flag
 * @param opts.govukRebrand
 * @returns {RequestHandler[]} Middleware functions
 */
export default function dataMiddleware({ plan, events, contextIdGenerator, govukRebrand, }: {
    plan: Plan;
    events: ContextEventHandler[];
    contextIdGenerator: ContextIdGenerator;
}): RequestHandler[];
export type RequestHandler = import("express").RequestHandler;
export type Plan = import("../casa.js").Plan;
export type ContextEventHandler = import("../casa.js").ContextEventHandler;
export type ContextIdGenerator = import("../casa.js").ContextIdGenerator;
