///
import * as express from 'express';
import { Log } from '../typings/log';
import { Store } from './store';
import { ChestnutUser } from './chestnut-user-type';
import { Server } from 'http';
export declare const BASE_URL = "/chestnut";
export { UpdateFunction } from './server-update-service';
export { Store } from './store';
export { Log } from '../typings/log';
export declare type ChestnutOptions = {
port: number;
models: {
[name: string]: any;
};
mongoDb: string;
modelName?: {
prefix?: string;
pluralize?: true;
kebabCase?: true;
};
publicFolder?: string;
sessionSecret: string;
clientPath: string;
apiUrl: string;
updatesFolder?: string;
cors?: any;
bodyParser?: {
json?: any;
urlencoded?: any;
};
};
export declare type Chestnut = {
expressApp: express.Express;
store: Store;
logger: Log;
server: Server;
};
export declare function initChestnut(options: ChestnutOptions, initMiddleware?: (app: express.Express, store: Store, logger: Log) => Promise, app?: express.Express): Promise;
export declare function createUserAsync(store: Store, user: ChestnutUser): Promise;