import _m0 from 'protobufjs/minimal'; import { RouteOptions, VirtualHost } from '../../../../yandex/cloud/apploadbalancer/v1/virtual_host'; export declare const protobufPackage = "yandex.cloud.apploadbalancer.v1"; /** * An HTTP router resource. * For details about the concept, see [documentation](/docs/application-load-balancer/concepts/http-router). */ export interface HttpRouter { /** ID of the router. Generated at creation time. */ id: string; /** Name of the router. The name is unique within the folder. */ name: string; /** Description of the router. */ description: string; /** ID of the folder that the router belongs to. */ folderId: string; /** * Router labels as `key:value` pairs. * For details about the concept, see [documentation](/docs/overview/concepts/services#labels). */ labels: { [key: string]: string; }; /** * Virtual hosts that combine routes inside the router. * For details about the concept, see [documentation](/docs/application-load-balancer/concepts/http-router#virtual-host). * * Only one virtual host with no authority (default match) can be specified. */ virtualHosts: VirtualHost[]; /** Creation timestamp. */ createdAt?: Date; routeOptions?: RouteOptions; } export interface HttpRouter_LabelsEntry { key: string; value: string; } export declare const HttpRouter: { encode(message: HttpRouter, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): HttpRouter; fromJSON(object: any): HttpRouter; toJSON(message: HttpRouter): unknown; fromPartial, never>) | undefined; virtualHosts?: ({ name?: string | undefined; authority?: string[] | undefined; routes?: { name?: string | undefined; http?: { match?: { httpMethod?: string[] | undefined; path?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; prefixRewrite?: string | undefined; upgradeTypes?: string[] | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; redirect?: { replaceScheme?: string | undefined; replaceHost?: string | undefined; replacePort?: number | undefined; replacePath?: string | undefined; replacePrefix?: string | undefined; removeQuery?: boolean | undefined; responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined; } | undefined; directResponse?: { status?: number | undefined; body?: { text?: string | undefined; } | undefined; } | undefined; } | undefined; grpc?: { match?: { fqmn?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; maxTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; statusResponse?: { status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined; } | undefined; } | undefined; routeOptions?: { modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } | undefined; }[] | undefined; modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; routeOptions?: { modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; }[] & ({ name?: string | undefined; authority?: string[] | undefined; routes?: { name?: string | undefined; http?: { match?: { httpMethod?: string[] | undefined; path?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; prefixRewrite?: string | undefined; upgradeTypes?: string[] | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; redirect?: { replaceScheme?: string | undefined; replaceHost?: string | undefined; replacePort?: number | undefined; replacePath?: string | undefined; replacePrefix?: string | undefined; removeQuery?: boolean | undefined; responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined; } | undefined; directResponse?: { status?: number | undefined; body?: { text?: string | undefined; } | undefined; } | undefined; } | undefined; grpc?: { match?: { fqmn?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; maxTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; statusResponse?: { status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined; } | undefined; } | undefined; routeOptions?: { modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } | undefined; }[] | undefined; modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; routeOptions?: { modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } & { name?: string | undefined; authority?: (string[] & string[] & Record, never>) | undefined; routes?: ({ name?: string | undefined; http?: { match?: { httpMethod?: string[] | undefined; path?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; prefixRewrite?: string | undefined; upgradeTypes?: string[] | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; redirect?: { replaceScheme?: string | undefined; replaceHost?: string | undefined; replacePort?: number | undefined; replacePath?: string | undefined; replacePrefix?: string | undefined; removeQuery?: boolean | undefined; responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined; } | undefined; directResponse?: { status?: number | undefined; body?: { text?: string | undefined; } | undefined; } | undefined; } | undefined; grpc?: { match?: { fqmn?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; maxTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; statusResponse?: { status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined; } | undefined; } | undefined; routeOptions?: { modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } | undefined; }[] & ({ name?: string | undefined; http?: { match?: { httpMethod?: string[] | undefined; path?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; prefixRewrite?: string | undefined; upgradeTypes?: string[] | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; redirect?: { replaceScheme?: string | undefined; replaceHost?: string | undefined; replacePort?: number | undefined; replacePath?: string | undefined; replacePrefix?: string | undefined; removeQuery?: boolean | undefined; responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined; } | undefined; directResponse?: { status?: number | undefined; body?: { text?: string | undefined; } | undefined; } | undefined; } | undefined; grpc?: { match?: { fqmn?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; maxTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; statusResponse?: { status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined; } | undefined; } | undefined; routeOptions?: { modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } | undefined; } & { name?: string | undefined; http?: ({ match?: { httpMethod?: string[] | undefined; path?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; prefixRewrite?: string | undefined; upgradeTypes?: string[] | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; redirect?: { replaceScheme?: string | undefined; replaceHost?: string | undefined; replacePort?: number | undefined; replacePath?: string | undefined; replacePrefix?: string | undefined; removeQuery?: boolean | undefined; responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined; } | undefined; directResponse?: { status?: number | undefined; body?: { text?: string | undefined; } | undefined; } | undefined; } & { match?: ({ httpMethod?: string[] | undefined; path?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } & { httpMethod?: (string[] & string[] & Record, never>) | undefined; path?: ({ exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; route?: ({ backendGroupId?: string | undefined; timeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; prefixRewrite?: string | undefined; upgradeTypes?: string[] | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } & { backendGroupId?: string | undefined; timeout?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; idleTimeout?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; prefixRewrite?: string | undefined; upgradeTypes?: (string[] & string[] & Record, never>) | undefined; rateLimit?: ({ allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } & { allRequests?: ({ perSecond?: number | undefined; perMinute?: number | undefined; } & { perSecond?: number | undefined; perMinute?: number | undefined; } & Record, never>) | undefined; requestsPerIp?: ({ perSecond?: number | undefined; perMinute?: number | undefined; } & { perSecond?: number | undefined; perMinute?: number | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; redirect?: ({ replaceScheme?: string | undefined; replaceHost?: string | undefined; replacePort?: number | undefined; replacePath?: string | undefined; replacePrefix?: string | undefined; removeQuery?: boolean | undefined; responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined; } & { replaceScheme?: string | undefined; replaceHost?: string | undefined; replacePort?: number | undefined; replacePath?: string | undefined; replacePrefix?: string | undefined; removeQuery?: boolean | undefined; responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined; } & Record, never>) | undefined; directResponse?: ({ status?: number | undefined; body?: { text?: string | undefined; } | undefined; } & { status?: number | undefined; body?: ({ text?: string | undefined; } & { text?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; grpc?: ({ match?: { fqmn?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; route?: { backendGroupId?: string | undefined; maxTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } | undefined; statusResponse?: { status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined; } | undefined; } & { match?: ({ fqmn?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } & { fqmn?: ({ exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; route?: ({ backendGroupId?: string | undefined; maxTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; idleTimeout?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; rateLimit?: { allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } | undefined; } & { backendGroupId?: string | undefined; maxTimeout?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; idleTimeout?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; hostRewrite?: string | undefined; autoHostRewrite?: boolean | undefined; rateLimit?: ({ allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } & { allRequests?: ({ perSecond?: number | undefined; perMinute?: number | undefined; } & { perSecond?: number | undefined; perMinute?: number | undefined; } & Record, never>) | undefined; requestsPerIp?: ({ perSecond?: number | undefined; perMinute?: number | undefined; } & { perSecond?: number | undefined; perMinute?: number | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; statusResponse?: ({ status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined; } & { status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; routeOptions?: ({ modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } & { modifyRequestHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; modifyResponseHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; rbac?: ({ action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } & { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: ({ andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] & ({ andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; } & { andPrincipals?: ({ header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] & ({ header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; } & { header?: ({ name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } & { name?: string | undefined; value?: ({ exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; remoteIp?: string | undefined; any?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; securityProfileId?: string | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; modifyRequestHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; modifyResponseHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; routeOptions?: ({ modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } & { modifyRequestHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; modifyResponseHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; rbac?: ({ action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } & { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: ({ andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] & ({ andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; } & { andPrincipals?: ({ header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] & ({ header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; } & { header?: ({ name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } & { name?: string | undefined; value?: ({ exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; remoteIp?: string | undefined; any?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; securityProfileId?: string | undefined; } & Record, never>) | undefined; rateLimit?: ({ allRequests?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; requestsPerIp?: { perSecond?: number | undefined; perMinute?: number | undefined; } | undefined; } & { allRequests?: ({ perSecond?: number | undefined; perMinute?: number | undefined; } & { perSecond?: number | undefined; perMinute?: number | undefined; } & Record, never>) | undefined; requestsPerIp?: ({ perSecond?: number | undefined; perMinute?: number | undefined; } & { perSecond?: number | undefined; perMinute?: number | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; createdAt?: Date | undefined; routeOptions?: ({ modifyRequestHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; modifyResponseHeaders?: { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] | undefined; rbac?: { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } | undefined; securityProfileId?: string | undefined; } & { modifyRequestHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; modifyResponseHeaders?: ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; }[] & ({ name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & { name?: string | undefined; append?: string | undefined; replace?: string | undefined; remove?: boolean | undefined; rename?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; rbac?: ({ action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: { andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] | undefined; } & { action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined; principals?: ({ andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; }[] & ({ andPrincipals?: { header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] | undefined; } & { andPrincipals?: ({ header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; }[] & ({ header?: { name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } | undefined; remoteIp?: string | undefined; any?: boolean | undefined; } & { header?: ({ name?: string | undefined; value?: { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } | undefined; } & { name?: string | undefined; value?: ({ exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & { exactMatch?: string | undefined; prefixMatch?: string | undefined; regexMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; remoteIp?: string | undefined; any?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; securityProfileId?: string | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): HttpRouter; }; export declare const HttpRouter_LabelsEntry: { encode(message: HttpRouter_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): HttpRouter_LabelsEntry; fromJSON(object: any): HttpRouter_LabelsEntry; toJSON(message: HttpRouter_LabelsEntry): unknown; fromPartial, never>>(object: I): HttpRouter_LabelsEntry; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};