@zuplo/runtime 5.1966.0 → 5.1968.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types-beta.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { KeyLike } from 'jose';
2
- import type { OpenAPIV3_1 } from 'openapi-types';
3
2
  import type { ValidateFunction as ValidateFunction_2 } from 'ajv';
4
3
 
5
4
  /**
@@ -397,7 +396,7 @@ declare interface AWSLoggingOptions {
397
396
  export declare class AWSLoggingPlugin extends LogPlugin {
398
397
  private options;
399
398
  constructor(options: AWSLoggingOptions);
400
- getTransport(): LogTransport;
399
+ /* Excluded from this release type: getTransport */
401
400
  }
402
401
 
403
402
  export declare class BackgroundDispatcher<TPayload> {
@@ -937,13 +936,16 @@ declare interface DataDogMetricsOptions {
937
936
  export declare class DataDogMetricsPlugin extends MetricsPlugin {
938
937
  private options;
939
938
  constructor(options: DataDogMetricsOptions);
940
- getTransport(): MetricsTransport;
939
+ /* Excluded from this release type: getTransport */
941
940
  static setContext(context: ZuploContext, data: DataDogMetricsContext): void;
942
941
  }
943
942
 
944
943
  /* Excluded from this release type: DevPortalRuntimeConfig */
945
944
 
946
- /* Excluded from this release type: DispatchFunction */
945
+ /**
946
+ * @public
947
+ */
948
+ declare type DispatchFunction<TPayload> = (batch: TPayload[]) => Promise<void>;
947
949
 
948
950
  declare interface DynaTraceLoggingOptions {
949
951
  url: string;
@@ -971,7 +973,7 @@ declare interface DynatraceMetricsOptions {
971
973
  export declare class DynatraceMetricsPlugin extends MetricsPlugin {
972
974
  private options;
973
975
  constructor(options: DynatraceMetricsOptions);
974
- getTransport(): MetricsTransport;
976
+ /* Excluded from this release type: getTransport */
975
977
  static setContext(context: ZuploContext, data: DynatraceMetricsContext): void;
976
978
  }
977
979
 
@@ -2438,7 +2440,12 @@ export declare class MemoryZoneReadThroughCache<T = unknown> {
2438
2440
  put(key: string, data: T, ttlSeconds: number): void;
2439
2441
  }
2440
2442
 
2441
- /* Excluded from this release type: MeteringPlugin */
2443
+ /**
2444
+ * Base class for determining type of plugin
2445
+ * @public
2446
+ */
2447
+ declare abstract class MeteringPlugin extends SystemRuntimePlugin {
2448
+ }
2442
2449
 
2443
2450
  /**
2444
2451
  * @beta
@@ -2474,7 +2481,32 @@ declare interface MeteringSubscription {
2474
2481
  */
2475
2482
  declare type MeteringSubscriptionStatus = "active" | "inactive" | "incomplete" | "incomplete-expired" | "trialing" | "past-due" | "canceled" | "unpaid";
2476
2483
 
2477
- /* Excluded from this release type: MetricsData */
2484
+ /**
2485
+ * @public
2486
+ */
2487
+ declare interface MetricsData {
2488
+ timestamp: Date;
2489
+ durationMs: number;
2490
+ statusCode: number;
2491
+ requestContentLength?: number;
2492
+ responseContentLength?: number;
2493
+ requestId: string;
2494
+ routePath: string;
2495
+ systemRouteName?: string;
2496
+ method: HttpMethod;
2497
+ rayId?: string;
2498
+ instanceId: string;
2499
+ userSub?: string;
2500
+ clientIp?: string;
2501
+ asn?: number;
2502
+ asOrganization?: string;
2503
+ colo?: string;
2504
+ continent?: string;
2505
+ country?: string;
2506
+ city?: string;
2507
+ latitude?: string;
2508
+ longitude?: string;
2509
+ }
2478
2510
 
2479
2511
  declare abstract class MetricsPlugin extends RuntimePlugin {
2480
2512
  /* Excluded from this release type: getTransport */
@@ -2727,6 +2759,468 @@ declare interface OnSendingAwsLambdaEventHook {
2727
2759
  */
2728
2760
  export declare function openApiSpecHandler(request: ZuploRequest, context: ZuploContext): Promise<Response>;
2729
2761
 
2762
+ declare namespace OpenAPIV3 {
2763
+ interface Document<T extends {} = {}> {
2764
+ openapi: string;
2765
+ info: InfoObject;
2766
+ servers?: ServerObject[];
2767
+ paths: PathsObject<T>;
2768
+ components?: ComponentsObject;
2769
+ security?: SecurityRequirementObject[];
2770
+ tags?: TagObject[];
2771
+ externalDocs?: ExternalDocumentationObject;
2772
+ 'x-express-openapi-additional-middleware'?: (((request: any, response: any, next: any) => Promise<void>) | ((request: any, response: any, next: any) => void))[];
2773
+ 'x-express-openapi-validation-strict'?: boolean;
2774
+ }
2775
+ interface InfoObject {
2776
+ title: string;
2777
+ description?: string;
2778
+ termsOfService?: string;
2779
+ contact?: ContactObject;
2780
+ license?: LicenseObject;
2781
+ version: string;
2782
+ }
2783
+ interface ContactObject {
2784
+ name?: string;
2785
+ url?: string;
2786
+ email?: string;
2787
+ }
2788
+ interface LicenseObject {
2789
+ name: string;
2790
+ url?: string;
2791
+ }
2792
+ interface ServerObject {
2793
+ url: string;
2794
+ description?: string;
2795
+ variables?: {
2796
+ [variable: string]: ServerVariableObject;
2797
+ };
2798
+ }
2799
+ interface ServerVariableObject {
2800
+ enum?: string[];
2801
+ default: string;
2802
+ description?: string;
2803
+ }
2804
+ interface PathsObject<T extends {} = {}, P extends {} = {}> {
2805
+ [pattern: string]: (PathItemObject<T> & P) | undefined;
2806
+ }
2807
+ enum HttpMethods {
2808
+ GET = "get",
2809
+ PUT = "put",
2810
+ POST = "post",
2811
+ DELETE = "delete",
2812
+ OPTIONS = "options",
2813
+ HEAD = "head",
2814
+ PATCH = "patch",
2815
+ TRACE = "trace"
2816
+ }
2817
+ type PathItemObject<T extends {} = {}> = {
2818
+ $ref?: string;
2819
+ summary?: string;
2820
+ description?: string;
2821
+ servers?: ServerObject[];
2822
+ parameters?: (ReferenceObject | ParameterObject)[];
2823
+ } & {
2824
+ [method in HttpMethods]?: OperationObject<T>;
2825
+ };
2826
+ type OperationObject<T extends {} = {}> = {
2827
+ tags?: string[];
2828
+ summary?: string;
2829
+ description?: string;
2830
+ externalDocs?: ExternalDocumentationObject;
2831
+ operationId?: string;
2832
+ parameters?: (ReferenceObject | ParameterObject)[];
2833
+ requestBody?: ReferenceObject | RequestBodyObject;
2834
+ responses: ResponsesObject;
2835
+ callbacks?: {
2836
+ [callback: string]: ReferenceObject | CallbackObject;
2837
+ };
2838
+ deprecated?: boolean;
2839
+ security?: SecurityRequirementObject[];
2840
+ servers?: ServerObject[];
2841
+ } & T;
2842
+ interface ExternalDocumentationObject {
2843
+ description?: string;
2844
+ url: string;
2845
+ }
2846
+ interface ParameterObject extends ParameterBaseObject {
2847
+ name: string;
2848
+ in: string;
2849
+ }
2850
+ interface HeaderObject extends ParameterBaseObject {
2851
+ }
2852
+ interface ParameterBaseObject {
2853
+ description?: string;
2854
+ required?: boolean;
2855
+ deprecated?: boolean;
2856
+ allowEmptyValue?: boolean;
2857
+ style?: string;
2858
+ explode?: boolean;
2859
+ allowReserved?: boolean;
2860
+ schema?: ReferenceObject | SchemaObject;
2861
+ example?: any;
2862
+ examples?: {
2863
+ [media: string]: ReferenceObject | ExampleObject;
2864
+ };
2865
+ content?: {
2866
+ [media: string]: MediaTypeObject;
2867
+ };
2868
+ }
2869
+ type NonArraySchemaObjectType = 'boolean' | 'object' | 'number' | 'string' | 'integer';
2870
+ type ArraySchemaObjectType = 'array';
2871
+ type SchemaObject = ArraySchemaObject | NonArraySchemaObject;
2872
+ interface ArraySchemaObject extends BaseSchemaObject {
2873
+ type: ArraySchemaObjectType;
2874
+ items: ReferenceObject | SchemaObject;
2875
+ }
2876
+ interface NonArraySchemaObject extends BaseSchemaObject {
2877
+ type?: NonArraySchemaObjectType;
2878
+ }
2879
+ interface BaseSchemaObject {
2880
+ title?: string;
2881
+ description?: string;
2882
+ format?: string;
2883
+ default?: any;
2884
+ multipleOf?: number;
2885
+ maximum?: number;
2886
+ exclusiveMaximum?: boolean;
2887
+ minimum?: number;
2888
+ exclusiveMinimum?: boolean;
2889
+ maxLength?: number;
2890
+ minLength?: number;
2891
+ pattern?: string;
2892
+ additionalProperties?: boolean | ReferenceObject | SchemaObject;
2893
+ maxItems?: number;
2894
+ minItems?: number;
2895
+ uniqueItems?: boolean;
2896
+ maxProperties?: number;
2897
+ minProperties?: number;
2898
+ required?: string[];
2899
+ enum?: any[];
2900
+ properties?: {
2901
+ [name: string]: ReferenceObject | SchemaObject;
2902
+ };
2903
+ allOf?: (ReferenceObject | SchemaObject)[];
2904
+ oneOf?: (ReferenceObject | SchemaObject)[];
2905
+ anyOf?: (ReferenceObject | SchemaObject)[];
2906
+ not?: ReferenceObject | SchemaObject;
2907
+ nullable?: boolean;
2908
+ discriminator?: DiscriminatorObject;
2909
+ readOnly?: boolean;
2910
+ writeOnly?: boolean;
2911
+ xml?: XMLObject;
2912
+ externalDocs?: ExternalDocumentationObject;
2913
+ example?: any;
2914
+ deprecated?: boolean;
2915
+ }
2916
+ interface DiscriminatorObject {
2917
+ propertyName: string;
2918
+ mapping?: {
2919
+ [value: string]: string;
2920
+ };
2921
+ }
2922
+ interface XMLObject {
2923
+ name?: string;
2924
+ namespace?: string;
2925
+ prefix?: string;
2926
+ attribute?: boolean;
2927
+ wrapped?: boolean;
2928
+ }
2929
+ interface ReferenceObject {
2930
+ $ref: string;
2931
+ }
2932
+ interface ExampleObject {
2933
+ summary?: string;
2934
+ description?: string;
2935
+ value?: any;
2936
+ externalValue?: string;
2937
+ }
2938
+ interface MediaTypeObject {
2939
+ schema?: ReferenceObject | SchemaObject;
2940
+ example?: any;
2941
+ examples?: {
2942
+ [media: string]: ReferenceObject | ExampleObject;
2943
+ };
2944
+ encoding?: {
2945
+ [media: string]: EncodingObject;
2946
+ };
2947
+ }
2948
+ interface EncodingObject {
2949
+ contentType?: string;
2950
+ headers?: {
2951
+ [header: string]: ReferenceObject | HeaderObject;
2952
+ };
2953
+ style?: string;
2954
+ explode?: boolean;
2955
+ allowReserved?: boolean;
2956
+ }
2957
+ interface RequestBodyObject {
2958
+ description?: string;
2959
+ content: {
2960
+ [media: string]: MediaTypeObject;
2961
+ };
2962
+ required?: boolean;
2963
+ }
2964
+ interface ResponsesObject {
2965
+ [code: string]: ReferenceObject | ResponseObject;
2966
+ }
2967
+ interface ResponseObject {
2968
+ description: string;
2969
+ headers?: {
2970
+ [header: string]: ReferenceObject | HeaderObject;
2971
+ };
2972
+ content?: {
2973
+ [media: string]: MediaTypeObject;
2974
+ };
2975
+ links?: {
2976
+ [link: string]: ReferenceObject | LinkObject;
2977
+ };
2978
+ }
2979
+ interface LinkObject {
2980
+ operationRef?: string;
2981
+ operationId?: string;
2982
+ parameters?: {
2983
+ [parameter: string]: any;
2984
+ };
2985
+ requestBody?: any;
2986
+ description?: string;
2987
+ server?: ServerObject;
2988
+ }
2989
+ interface CallbackObject {
2990
+ [url: string]: PathItemObject;
2991
+ }
2992
+ interface SecurityRequirementObject {
2993
+ [name: string]: string[];
2994
+ }
2995
+ interface ComponentsObject {
2996
+ schemas?: {
2997
+ [key: string]: ReferenceObject | SchemaObject;
2998
+ };
2999
+ responses?: {
3000
+ [key: string]: ReferenceObject | ResponseObject;
3001
+ };
3002
+ parameters?: {
3003
+ [key: string]: ReferenceObject | ParameterObject;
3004
+ };
3005
+ examples?: {
3006
+ [key: string]: ReferenceObject | ExampleObject;
3007
+ };
3008
+ requestBodies?: {
3009
+ [key: string]: ReferenceObject | RequestBodyObject;
3010
+ };
3011
+ headers?: {
3012
+ [key: string]: ReferenceObject | HeaderObject;
3013
+ };
3014
+ securitySchemes?: {
3015
+ [key: string]: ReferenceObject | SecuritySchemeObject;
3016
+ };
3017
+ links?: {
3018
+ [key: string]: ReferenceObject | LinkObject;
3019
+ };
3020
+ callbacks?: {
3021
+ [key: string]: ReferenceObject | CallbackObject;
3022
+ };
3023
+ }
3024
+ type SecuritySchemeObject = HttpSecurityScheme | ApiKeySecurityScheme | OAuth2SecurityScheme | OpenIdSecurityScheme;
3025
+ interface HttpSecurityScheme {
3026
+ type: 'http';
3027
+ description?: string;
3028
+ scheme: string;
3029
+ bearerFormat?: string;
3030
+ }
3031
+ interface ApiKeySecurityScheme {
3032
+ type: 'apiKey';
3033
+ description?: string;
3034
+ name: string;
3035
+ in: string;
3036
+ }
3037
+ interface OAuth2SecurityScheme {
3038
+ type: 'oauth2';
3039
+ description?: string;
3040
+ flows: {
3041
+ implicit?: {
3042
+ authorizationUrl: string;
3043
+ refreshUrl?: string;
3044
+ scopes: {
3045
+ [scope: string]: string;
3046
+ };
3047
+ };
3048
+ password?: {
3049
+ tokenUrl: string;
3050
+ refreshUrl?: string;
3051
+ scopes: {
3052
+ [scope: string]: string;
3053
+ };
3054
+ };
3055
+ clientCredentials?: {
3056
+ tokenUrl: string;
3057
+ refreshUrl?: string;
3058
+ scopes: {
3059
+ [scope: string]: string;
3060
+ };
3061
+ };
3062
+ authorizationCode?: {
3063
+ authorizationUrl: string;
3064
+ tokenUrl: string;
3065
+ refreshUrl?: string;
3066
+ scopes: {
3067
+ [scope: string]: string;
3068
+ };
3069
+ };
3070
+ };
3071
+ }
3072
+ interface OpenIdSecurityScheme {
3073
+ type: 'openIdConnect';
3074
+ description?: string;
3075
+ openIdConnectUrl: string;
3076
+ }
3077
+ interface TagObject {
3078
+ name: string;
3079
+ description?: string;
3080
+ externalDocs?: ExternalDocumentationObject;
3081
+ }
3082
+ }
3083
+
3084
+ declare namespace OpenAPIV3_1 {
3085
+ type Modify<T, R> = Omit<T, keyof R> & R;
3086
+ type PathsWebhooksComponents<T extends {} = {}> = {
3087
+ paths: PathsObject<T>;
3088
+ webhooks: Record<string, PathItemObject | ReferenceObject>;
3089
+ components: ComponentsObject;
3090
+ };
3091
+ type Document<T extends {} = {}> = Modify<Omit<OpenAPIV3.Document<T>, 'paths' | 'components'>, {
3092
+ info: InfoObject;
3093
+ jsonSchemaDialect?: string;
3094
+ servers?: ServerObject[];
3095
+ } & ((Pick<PathsWebhooksComponents<T>, 'paths'> & Omit<Partial<PathsWebhooksComponents<T>>, 'paths'>) | (Pick<PathsWebhooksComponents<T>, 'webhooks'> & Omit<Partial<PathsWebhooksComponents<T>>, 'webhooks'>) | (Pick<PathsWebhooksComponents<T>, 'components'> & Omit<Partial<PathsWebhooksComponents<T>>, 'components'>))>;
3096
+ type InfoObject = Modify<OpenAPIV3.InfoObject, {
3097
+ summary?: string;
3098
+ license?: LicenseObject;
3099
+ }>;
3100
+ type ContactObject = OpenAPIV3.ContactObject;
3101
+ type LicenseObject = Modify<OpenAPIV3.LicenseObject, {
3102
+ identifier?: string;
3103
+ }>;
3104
+ type ServerObject = Modify<OpenAPIV3.ServerObject, {
3105
+ url: string;
3106
+ description?: string;
3107
+ variables?: Record<string, ServerVariableObject>;
3108
+ }>;
3109
+ type ServerVariableObject = Modify<OpenAPIV3.ServerVariableObject, {
3110
+ enum?: [string, ...string[]];
3111
+ }>;
3112
+ type PathsObject<T extends {} = {}, P extends {} = {}> = Record<string, (PathItemObject<T> & P) | undefined>;
3113
+ type HttpMethods = OpenAPIV3.HttpMethods;
3114
+ type PathItemObject<T extends {} = {}> = Modify<OpenAPIV3.PathItemObject<T>, {
3115
+ servers?: ServerObject[];
3116
+ parameters?: (ReferenceObject | ParameterObject)[];
3117
+ }> & {
3118
+ [method in HttpMethods]?: OperationObject<T>;
3119
+ };
3120
+ type OperationObject<T extends {} = {}> = Modify<OpenAPIV3.OperationObject<T>, {
3121
+ parameters?: (ReferenceObject | ParameterObject)[];
3122
+ requestBody?: ReferenceObject | RequestBodyObject;
3123
+ responses?: ResponsesObject;
3124
+ callbacks?: Record<string, ReferenceObject | CallbackObject>;
3125
+ servers?: ServerObject[];
3126
+ }> & T;
3127
+ type ExternalDocumentationObject = OpenAPIV3.ExternalDocumentationObject;
3128
+ type ParameterObject = OpenAPIV3.ParameterObject;
3129
+ type HeaderObject = OpenAPIV3.HeaderObject;
3130
+ type ParameterBaseObject = OpenAPIV3.ParameterBaseObject;
3131
+ type NonArraySchemaObjectType = OpenAPIV3.NonArraySchemaObjectType | 'null';
3132
+ type ArraySchemaObjectType = OpenAPIV3.ArraySchemaObjectType;
3133
+ /**
3134
+ * There is no way to tell typescript to require items when type is either 'array' or array containing 'array' type
3135
+ * 'items' will be always visible as optional
3136
+ * Casting schema object to ArraySchemaObject or NonArraySchemaObject will work fine
3137
+ */
3138
+ type SchemaObject = ArraySchemaObject | NonArraySchemaObject | MixedSchemaObject;
3139
+ interface ArraySchemaObject extends BaseSchemaObject {
3140
+ type: ArraySchemaObjectType;
3141
+ items: ReferenceObject | SchemaObject;
3142
+ }
3143
+ interface NonArraySchemaObject extends BaseSchemaObject {
3144
+ type?: NonArraySchemaObjectType;
3145
+ }
3146
+ interface MixedSchemaObject extends BaseSchemaObject {
3147
+ type?: (ArraySchemaObjectType | NonArraySchemaObjectType)[];
3148
+ items?: ReferenceObject | SchemaObject;
3149
+ }
3150
+ type BaseSchemaObject = Modify<Omit<OpenAPIV3.BaseSchemaObject, 'nullable'>, {
3151
+ examples?: OpenAPIV3.BaseSchemaObject['example'][];
3152
+ exclusiveMinimum?: boolean | number;
3153
+ exclusiveMaximum?: boolean | number;
3154
+ contentMediaType?: string;
3155
+ $schema?: string;
3156
+ additionalProperties?: boolean | ReferenceObject | SchemaObject;
3157
+ properties?: {
3158
+ [name: string]: ReferenceObject | SchemaObject;
3159
+ };
3160
+ allOf?: (ReferenceObject | SchemaObject)[];
3161
+ oneOf?: (ReferenceObject | SchemaObject)[];
3162
+ anyOf?: (ReferenceObject | SchemaObject)[];
3163
+ not?: ReferenceObject | SchemaObject;
3164
+ discriminator?: DiscriminatorObject;
3165
+ externalDocs?: ExternalDocumentationObject;
3166
+ xml?: XMLObject;
3167
+ const?: any;
3168
+ }>;
3169
+ type DiscriminatorObject = OpenAPIV3.DiscriminatorObject;
3170
+ type XMLObject = OpenAPIV3.XMLObject;
3171
+ type ReferenceObject = Modify<OpenAPIV3.ReferenceObject, {
3172
+ summary?: string;
3173
+ description?: string;
3174
+ }>;
3175
+ type ExampleObject = OpenAPIV3.ExampleObject;
3176
+ type MediaTypeObject = Modify<OpenAPIV3.MediaTypeObject, {
3177
+ schema?: SchemaObject | ReferenceObject;
3178
+ examples?: Record<string, ReferenceObject | ExampleObject>;
3179
+ }>;
3180
+ type EncodingObject = OpenAPIV3.EncodingObject;
3181
+ type RequestBodyObject = Modify<OpenAPIV3.RequestBodyObject, {
3182
+ content: {
3183
+ [media: string]: MediaTypeObject;
3184
+ };
3185
+ }>;
3186
+ type ResponsesObject = Record<string, ReferenceObject | ResponseObject>;
3187
+ type ResponseObject = Modify<OpenAPIV3.ResponseObject, {
3188
+ headers?: {
3189
+ [header: string]: ReferenceObject | HeaderObject;
3190
+ };
3191
+ content?: {
3192
+ [media: string]: MediaTypeObject;
3193
+ };
3194
+ links?: {
3195
+ [link: string]: ReferenceObject | LinkObject;
3196
+ };
3197
+ }>;
3198
+ type LinkObject = Modify<OpenAPIV3.LinkObject, {
3199
+ server?: ServerObject;
3200
+ }>;
3201
+ type CallbackObject = Record<string, PathItemObject | ReferenceObject>;
3202
+ type SecurityRequirementObject = OpenAPIV3.SecurityRequirementObject;
3203
+ type ComponentsObject = Modify<OpenAPIV3.ComponentsObject, {
3204
+ schemas?: Record<string, SchemaObject>;
3205
+ responses?: Record<string, ReferenceObject | ResponseObject>;
3206
+ parameters?: Record<string, ReferenceObject | ParameterObject>;
3207
+ examples?: Record<string, ReferenceObject | ExampleObject>;
3208
+ requestBodies?: Record<string, ReferenceObject | RequestBodyObject>;
3209
+ headers?: Record<string, ReferenceObject | HeaderObject>;
3210
+ securitySchemes?: Record<string, ReferenceObject | SecuritySchemeObject>;
3211
+ links?: Record<string, ReferenceObject | LinkObject>;
3212
+ callbacks?: Record<string, ReferenceObject | CallbackObject>;
3213
+ pathItems?: Record<string, ReferenceObject | PathItemObject>;
3214
+ }>;
3215
+ type SecuritySchemeObject = OpenAPIV3.SecuritySchemeObject;
3216
+ type HttpSecurityScheme = OpenAPIV3.HttpSecurityScheme;
3217
+ type ApiKeySecurityScheme = OpenAPIV3.ApiKeySecurityScheme;
3218
+ type OAuth2SecurityScheme = OpenAPIV3.OAuth2SecurityScheme;
3219
+ type OpenIdSecurityScheme = OpenAPIV3.OpenIdSecurityScheme;
3220
+ type TagObject = OpenAPIV3.TagObject;
3221
+ {};
3222
+ }
3223
+
2730
3224
  /**
2731
3225
  * The Open ID JWT Authentication policy allows you to authenticate incoming requests using an Open ID compliant bearer token.
2732
3226
  *
@@ -2861,7 +3355,16 @@ declare interface ParsedRouteData extends Omit<RouteData, "corsPolicies"> {
2861
3355
  corsPolicies: ParsedCorsPolicyConfiguration[];
2862
3356
  }
2863
3357
 
2864
- /* Excluded from this release type: PolicyBase */
3358
+ /**
3359
+ * @public
3360
+ * The base class for inbound and outbound policies
3361
+ */
3362
+ declare abstract class PolicyBase<TOptions = any> {
3363
+ options: TOptions;
3364
+ policyName: string;
3365
+ policyType: string;
3366
+ /* Excluded from this release type: __constructor */
3367
+ }
2865
3368
 
2866
3369
  export declare interface PolicyConfiguration {
2867
3370
  name: string;
@@ -3522,7 +4025,11 @@ export declare interface RuntimeExtensionsFunction {
3522
4025
  (runtime: RuntimeExtensions): Promise<void>;
3523
4026
  }
3524
4027
 
3525
- /* Excluded from this release type: RuntimePlugin */
4028
+ /**
4029
+ * @public
4030
+ */
4031
+ declare abstract class RuntimePlugin {
4032
+ }
3526
4033
 
3527
4034
  /* Excluded from this release type: RuntimeSettings */
3528
4035
 
@@ -3753,7 +4260,7 @@ export declare interface SleepInboundPolicyOptions {
3753
4260
  export declare class StripeMonetizationPlugin extends MeteringPlugin {
3754
4261
  private options;
3755
4262
  constructor(options: StripeMonetizationPluginOptions);
3756
- registerRoutes(router: Router, gateway: Gateway): void;
4263
+ /* Excluded from this release type: registerRoutes */
3757
4264
  }
3758
4265
 
3759
4266
  /**
@@ -3893,11 +4400,24 @@ export declare interface SupabaseJwtInboundPolicyOptions {
3893
4400
 
3894
4401
  /* Excluded from this release type: SystemRouteName */
3895
4402
 
3896
- /* Excluded from this release type: SystemRuntimePlugin */
4403
+ /**
4404
+ * Plugins for registering system capabilities
4405
+ * @public
4406
+ */
4407
+ declare abstract class SystemRuntimePlugin extends RuntimePlugin {
4408
+ /* Excluded from this release type: initialize */
4409
+ /* Excluded from this release type: registerRoutes */
4410
+ }
3897
4411
 
3898
4412
  /* Excluded from this release type: TelemetryInitializationOptions */
3899
4413
 
3900
- /* Excluded from this release type: TelemetryPlugin */
4414
+ /**
4415
+ * Base class for determining type of plugin
4416
+ * @public
4417
+ */
4418
+ export declare abstract class TelemetryPlugin extends RuntimePlugin {
4419
+ /* Excluded from this release type: instrument */
4420
+ }
3901
4421
 
3902
4422
  /**
3903
4423
  * Uses Azure Active Directory to add an Authorization header to the request in order to authenticate requests using Azure identity.
@@ -4284,7 +4804,12 @@ export declare class VMWareLogInsightLoggingPlugin extends LogPlugin {
4284
4804
  /* Excluded from this release type: getTransport */
4285
4805
  }
4286
4806
 
4287
- /* Excluded from this release type: WaitUntilFunc */
4807
+ /**
4808
+ * @public
4809
+ */
4810
+ declare interface WaitUntilFunc {
4811
+ (promise: Promise<any>): void;
4812
+ }
4288
4813
 
4289
4814
  /**
4290
4815
  * Handle websocket requests to a different url