import { LoggerOptions, Options, SerializerFunction } from "lambda-api"; import { OpenApiConfig } from "./OpenApiConfig"; import { ServerLoggerConfig } from "./logging/ServerLoggerConfig"; /** * Base class for app configuration. Extend this * to supply your own configuration properties. * * It is recommended to create your own sub-class and * register it with the application IOC container. * * This class supports all the `lambda-api` config * options by implementing the `Options` interface. */ export declare class AppConfig implements Options { /** * API human readable name. */ name?: string; /** * Version number accessible via `Request` context instances. */ version?: string; /** * Base path for all routes, e.g. base: 'v1' would * prefix all routes with /v1. */ base?: string; /** * Override the default callback query parameter name * for JSONP calls. */ callbackName?: string; /** * lambda-api logging configuration. Enables/disables default logging * by setting to a boolean value or allows for configuration through * a Logging Configuration object. * * Defaults to info level logging. */ logger?: boolean | LoggerOptions; /** * Logging configuration for ts-lambda-api. * See [[ServerLoggerConfig]] for more information. * * Defaults to info level plain string logging. */ serverLogger?: ServerLoggerConfig; /** * Name/value pairs of additional MIME types to be supported * by the type(). The key should be the file extension * (without the .) and the value should be the expected MIME type, * e.g. `application/json`. */ mimeTypes?: { [key: string]: string; }; /** * Optional object serializer function. This function receives the * body of a response and must return a string. Defaults to JSON.stringify */ serializer?: SerializerFunction; /** * OpenAPI configuration. */ openApi?: OpenApiConfig; constructor(); }