import { experimental, ServerInterceptor } from '@grpc/grpc-js'; import { Any__Output } from './generated/google/protobuf/Any'; import Filter = experimental.Filter; import FilterFactory = experimental.FilterFactory; import { HttpFilter__Output } from './generated/envoy/extensions/filters/network/http_connection_manager/v3/HttpFilter'; export interface HttpFilterConfig { typeUrl: string; config: any; } export interface HttpFilterFactoryConstructor { new (config: HttpFilterConfig, overrideConfig?: HttpFilterConfig): FilterFactory; } export interface HttpFilterRegistryEntry { parseTopLevelFilterConfig(encodedConfig: Any__Output): HttpFilterConfig | null; parseOverrideFilterConfig(encodedConfig: Any__Output): HttpFilterConfig | null; httpFilterConstructor?: HttpFilterFactoryConstructor | undefined; createServerFilter?: ((config: HttpFilterConfig, overrideConfigMap: Map) => ServerInterceptor) | undefined; } export declare function registerHttpFilter(typeName: string, entry: HttpFilterRegistryEntry): void; export declare function getTopLevelFilterUrl(encodedConfig: Any__Output): string; export declare function validateTopLevelFilter(httpFilter: HttpFilter__Output, client: boolean): boolean; export declare function validateOverrideFilter(encodedConfig: Any__Output): boolean; export declare function parseTopLevelFilterConfig(encodedConfig: Any__Output, client: boolean): HttpFilterConfig | null; export declare function parseOverrideFilterConfig(encodedConfig: Any__Output): HttpFilterConfig | null; export declare function createClientHttpFilter(config: HttpFilterConfig, overrideConfig?: HttpFilterConfig): FilterFactory | null; export declare function createServerHttpFilter(config: HttpFilterConfig, overrideConfigMap: Map): ServerInterceptor | null;