import { DocumentNode } from "graphql"; import { AuthMode, NonEmptyArray } from "type-graphql"; import { IContextOptions } from "./IContextOptions"; import { ExpirationFreqEnum } from "../services/JwtAuthService"; import { CorsOptions } from "cors"; import { ValidateSettings } from "type-graphql/dist/schema/build-context"; import { Context } from "../models/Models"; export interface IServerOptions { /** * @summary If not provided a new instance on Express app server w'll be used */ app?: any; controllers: any[]; resolvers: NonEmptyArray | NonEmptyArray; authenticator: (userContext: Context, roles: any) => Promise; formatError: (err: any) => Error; context: (contextOptions: IContextOptions) => Promise; authMode?: AuthMode; production?: boolean; middlewares?: (app: any) => void; port?: number; gqlValidateSettings?: ValidateSettings; maxFieldSize?: number; maxFileSize?: number; maxFiles?: number; typeDefs?: DocumentNode | Array | string | Array; useCors?: boolean; corsOptions?: CorsOptions; publicKey: string; privateKey: string; expiresIn: any; /** * @deprecated Please use property expirationFreq instead */ timeBeforeExpiration?: string; expirationFreq: ExpirationFreqEnum; } //# sourceMappingURL=IServerOptions.d.ts.map