import { type ModelOptions, RootModel } from './Model/Model'; import Backend = require('sharedb'); export type BackendOptions = { modelOptions?: ModelOptions; } & Backend.ShareDBOptions; /** * RacerBackend extends ShareDb Backend */ export declare class RacerBackend extends Backend { racer: any; modelOptions: ModelOptions; /** * * @param racer - Racer instance * @param options - Model and SharedB options */ constructor(racer: any, options?: BackendOptions); /** * Create new `RootModel` * * @param options - Optional model options * @param request - Optional request context See {@link Backend.listen} for details. * @returns a new root model */ createModel(options?: ModelOptions, request?: any): RootModel; /** * Model middleware that creates and attaches a {@link Model} to the `request` * and attaches listeners to response for closing model on response completion * * @returns an Express middleware function */ modelMiddleware(): (req: any, res: any, next: any) => any; }