UNPKG

2.07 kBTypeScriptView Raw
1/// <reference path="../typings/untyped-modules.d.ts" />
2/// <reference path="../typings/request.d.ts" />
3/// <reference types="cookie-session" />
4import { ModelOpts, NavigationOpts, ThumbnailProvider, BaseUrls, ContentHooks } from "../typings";
5import express, { RequestHandler, Express } from "express";
6import log from "./log";
7import { AnonymousPermissions } from "./auth";
8import { PersistenceAdapter } from "./persistence/adapter";
9import { ExternalDataSourceWithOptionalHelper } from "./externalDataSourceHelper";
10import ContentPersistence from "./persistence/ContentPersistence";
11import Storage from "./media/storage/Storage";
12declare type SessionOpts = CookieSessionInterfaces.CookieSessionOptions;
13export { Persistence } from "./persistence";
14export { default as knexAdapter } from "./persistence/adapter/knex";
15export * from "../typings";
16export { default as FsStorage } from "./media/storage/FsStorage";
17export * from "./utils";
18export { PersistenceAdapter, Storage, ExternalDataSourceWithOptionalHelper, SessionOpts, RequestHandler, AnonymousPermissions, ContentPersistence, log };
19export declare type Opts = {
20 models: ModelOpts[];
21 navigation?: NavigationOpts[];
22 storage: Storage;
23 baseUrls?: Partial<BaseUrls>;
24 basePath?: string;
25 persistenceAdapter: Promise<PersistenceAdapter>;
26 externalDataSources?: ExternalDataSourceWithOptionalHelper[];
27 sessionOpts?: SessionOpts;
28 thumbnailProvider: ThumbnailProvider;
29 clientMiddleware?: RequestHandler | RequestHandler[];
30 anonymousPermissions?: AnonymousPermissions;
31 customSetup?: (app: Express, contentPersistence: ContentPersistence) => void;
32 contentHooks?: ContentHooks;
33};
34export declare const clientMiddleware: express.Router;
35export declare function getRestApiBuilder(opts: Pick<Opts, "models" | "basePath" | "baseUrls" | "externalDataSources">): Promise<import("openapi3-ts").OpenApiBuilder>;
36export declare function init(opts: Opts): Promise<{
37 app: import("express-serve-static-core").Express;
38 persistence: import("./persistence").Persistence;
39}>;