import convict from 'convict'; import SchemaCore, { OpType } from './core/schema-core'; import { Context, OpConfig, APIConfig } from '../interfaces'; /** * A base class for supporting convict "Schema" definitions */ export default abstract class ConvictSchema extends SchemaCore { schema: convict.Schema; constructor(context: Context, opType?: OpType); validate(inputConfig: any): APIConfig & T; validate(inputConfig: any): OpConfig & T; validateJob(job: any): void; static type(): string; abstract build(context?: Context): convict.Schema; }