import { Any__Output } from "../generated/google/protobuf/Any"; import { BootstrapInfo, XdsServerConfig } from "../xds-bootstrap"; export interface XdsDecodeContext { server: XdsServerConfig; bootstrap: BootstrapInfo; } export interface XdsDecodeResult { name: string; /** * Mutually exclusive with error. */ value?: object; /** * Mutually exclusive with value. */ error?: string; } export interface ValidationSuccess { valid: true; result: T; } export interface ValidationFailure { valid: false; errors: string[]; } export type ValidationResult = ValidationSuccess | ValidationFailure; export declare abstract class XdsResourceType { /** * The type URL as used in xdstp: names */ abstract getTypeUrl(): string; /** * The type URL as used in the `DiscoveryResponse.type_url` field and the `Any.type_url` field */ getFullTypeUrl(): string; abstract decode(context: XdsDecodeContext, resource: Any__Output): XdsDecodeResult; abstract allResourcesRequiredInSotW(): boolean; resourcesEqual(value1: object | null, value2: object | null): boolean; }