/// import Koa from 'koa'; import next from 'next'; import koaBody from 'koa-body'; import { Server } from 'https'; import Sprucebot from '@sprucelabs/spruce-node'; import { ISpruceContext } from './interfaces/ctx'; interface IServeOptions { sprucebot: Sprucebot; port: number; serverHost: string; interfaceHost: string; nextConfig: next.ServerOptions; errors: Record; servicesDir: string; utilitiesDir: string; controllersDir: string; middlewareDir: string; listenersDir: string; sequelizeOptions?: { runMigrations: boolean; modelsDir: string; migrationsDir: string; options: Record; }; langDir: string; staticDir?: string; bodyParserOptions?: koaBody.IKoaBodyOptions; slug: string; logLevel: string; logUseColors: boolean; logUseTrace: boolean; logUseSourcemaps: boolean; logAsJSON: boolean; env: string; packageName: string; packageVersion: string; metricsAppKey: string; metricsUrl: string; metricsEnabled: boolean; metricsRequestsDisabled: boolean; metricsServerStatsDisabled: boolean; metricsSequelizeDisabled: boolean; gqlOptions: Record; testing?: boolean; } export interface ISpruceServeSkill { koa: Koa<{}, ISkillContext>; server: Server; } declare function serve(options: IServeOptions): Promise>; export default serve; export { ISpruceModels } from './interfaces/models'; export { ISpruceServices } from './interfaces/services'; export { ISpruceUtilities } from './interfaces/utilities'; export { ISpruceContext } from './interfaces/ctx'; export { ISpruceErrors } from './interfaces/errors'; export { default as SpruceErrors } from './config/errors'; export { ISpruceAuth, ISpruceAuthJob, ISpruceAuthGroup, ISpruceAuthUserLocation, ISpruceAuthOrganization, ISpruceAuthLocation, ISpruceAuthUser } from './interfaces/auth'; export * from './interfaces/bigSearch'; export { default as SpruceSkillService } from './lib/SpruceSkillService'; export { default as SpruceSkillUtility } from './lib/SpruceSkillUtility'; export { default as SpruceCoreModel } from './lib/SpruceModel'; export { default as SpruceTest } from './tests/lib/SpruceTest'; export { FileItem } from './models/FileItem'; export { Group } from './models/Group'; export { Job } from './models/Job'; export { Location } from './models/Location'; export { LocationGroup } from './models/LocationGroup'; export { Organization } from './models/Organization'; export { Skill } from './models/Skill'; export { User } from './models/User'; export { UserGroup } from './models/UserGroup'; export { UserLocation } from './models/UserLocation'; export { UserOrganization } from './models/UserOrganization'; import defaultConfig from './config/default'; export { defaultConfig as SpruceConfig }; export { IMockUser, IMockOrganization, IMockSkill, IMockLocation } from './tests/mocks/SandboxMock'; export { ISpruceGQLTypes, IGQLTypeResolver, IGQLResolvers, IGQLResolver } from './interfaces/gql'; export { IBuildSequelizeResolver } from './gql/helpers'; export { ISpruceAcls } from './interfaces/acls';