import { Struct } from './generated/google/protobuf/Struct'; import { experimental } from '@grpc/grpc-js'; import FileWatcherCertificateProviderConfig = experimental.FileWatcherCertificateProviderConfig; export interface Locality { region?: string; zone?: string; sub_zone?: string; } export interface Node { id: string; locality: Locality; cluster?: string; metadata?: Struct; } export interface ChannelCredsConfig { type: string; config?: object; } export interface XdsServerConfig { server_uri: string; channel_creds: ChannelCredsConfig[]; server_features: string[]; } export interface Authority { clientListenerResourceNameTemplate: string; xdsServers?: XdsServerConfig[]; } export type PluginConfig = FileWatcherCertificateProviderConfig; export interface CertificateProviderConfig { pluginName: string; config: PluginConfig; } export interface BootstrapInfo { xdsServers: XdsServerConfig[]; node: Node; authorities: { [authorityName: string]: Authority; }; clientDefaultListenerResourceNameTemplate: string; serverListenerResourceNameTemplate: string | null; certificateProviders: { [instanceName: string]: CertificateProviderConfig; }; } export declare function serverConfigEqual(config1: XdsServerConfig, config2: XdsServerConfig): boolean; export declare function validateXdsServerConfig(obj: any): XdsServerConfig; export declare function validateBootstrapConfig(obj: any): BootstrapInfo; /** * Load the bootstrap information from the location determined by the * GRPC_XDS_BOOTSTRAP environment variable, or if that is unset, from the * GRPC_XDS_BOOTSTRAP_CONFIG environment variable. The value is cached, so any * calls after the first will just return the cached value. * @returns */ export declare function loadBootstrapInfo(): BootstrapInfo; /** * Encode a text string as a valid path of a URI, as specified in RFC-3986 section 3.3 * @param uriPath A value representing an unencoded URI path * @returns */ export declare function encodeURIPath(uriPath: string): string; export declare function formatTemplateString(templateString: string, value: string): string;