import { JSONSchema } from 'json-schema-to-ts'; import { HttpStatusCodes } from '../../../types/http'; import { DefinedProperties } from './utils'; /** * The intermediary type used to determine the contract type of the lambda. * * Each schema property is possibly undefined (no schema) or is a JSONSchema. * Do not use this type directly, use it with `DefinedProperties` */ type AllFullContractProperties> = { [HttpStatusCodes.OK]: JSONSchema | undefined; }> = { contractId: { const: string; }; contractType: { const: IntegrationType; }; path: { const: Path; }; method: { const: Method; }; pathParameters: PathParametersSchema; queryStringParameters: QueryStringParametersSchema; headers: HeadersSchema; body: BodySchema; output: OutputSchema; }; /** * Computed schema type of the input validation schema. * * Can be used with `FromSchema` to infer the type of the contract of the lambda */ export interface FullContractSchemaType> = { [HttpStatusCodes.OK]: JSONSchema | undefined; }, DefinedFullContractProperties = DefinedProperties>> { type: 'object'; properties: DefinedFullContractProperties; required: Array; additionalProperties: false; } export {}; //# sourceMappingURL=fullContract.d.ts.map