import { Logger } from "../logger/TotoLogger"; import { ValidatorProps } from "./ValidatorProps"; export declare abstract class TotoControllerConfig { configuration: ConfigurationData; logger: Logger | undefined; hyperscaler: "aws" | "gcp" | "local"; env: string; protected mongoHost: string | undefined; protected jwtSigningKey: string | undefined; protected expectedAudience: string | undefined; options: TotoControllerConfigOptions | undefined; totoRegistryEndpoint: string | undefined; constructor(configuration: ConfigurationData, options?: TotoControllerConfigOptions); /** * Loads the configurations and returns a Promise when done */ load(): Promise; /** * Returns the Validator Properties */ abstract getProps(): ValidatorProps; /** * Return the JWT Token Signing Key for custom tokens */ getSigningKey(): string; /** * Returns the expected audience. * The expected audience is used when verifying the Authorization's header Bearer JWT token. * The audience is extracted from the token and compared with the expected audience, to make sure * that the token was issued for the correct purpose (audience). */ getExpectedAudience(): string; /** * Returns the name of the API (service, microservice) managed by this controller. */ getAPIName(): string; getTotoRegistryEndpoint(): string; } export interface ConfigurationData { apiName: string; } export declare class TotoControllerConfigOptions { defaultHyperscaler: "aws" | "gcp"; defaultSecretsManagerLocation: "aws" | "gcp"; }