import { ResourceBase, ResourceTag } from '../resource'; import { Value, List } from '../dataTypes'; export declare class Duration { Value: Value; Unit: Value; constructor(properties: Duration); } export declare class GrpcRetryPolicy { MaxRetries: Value; PerRetryTimeout: Duration; GrpcRetryEvents?: List>; HttpRetryEvents?: List>; TcpRetryEvents?: List>; constructor(properties: GrpcRetryPolicy); } export declare class GrpcRoute { Action: GrpcRouteAction; Timeout?: GrpcTimeout; RetryPolicy?: GrpcRetryPolicy; Match: GrpcRouteMatch; constructor(properties: GrpcRoute); } export declare class GrpcRouteAction { WeightedTargets: List; constructor(properties: GrpcRouteAction); } export declare class GrpcRouteMatch { ServiceName?: Value; Port?: Value; Metadata?: List; MethodName?: Value; constructor(properties: GrpcRouteMatch); } export declare class GrpcRouteMetadata { Invert?: Value; Name: Value; Match?: GrpcRouteMetadataMatchMethod; constructor(properties: GrpcRouteMetadata); } export declare class GrpcRouteMetadataMatchMethod { Suffix?: Value; Regex?: Value; Exact?: Value; Prefix?: Value; Range?: MatchRange; constructor(properties: GrpcRouteMetadataMatchMethod); } export declare class GrpcTimeout { PerRequest?: Duration; Idle?: Duration; constructor(properties: GrpcTimeout); } export declare class HeaderMatchMethod { Suffix?: Value; Regex?: Value; Exact?: Value; Prefix?: Value; Range?: MatchRange; constructor(properties: HeaderMatchMethod); } export declare class HttpPathMatch { Regex?: Value; Exact?: Value; constructor(properties: HttpPathMatch); } export declare class HttpQueryParameterMatch { Exact?: Value; constructor(properties: HttpQueryParameterMatch); } export declare class HttpRetryPolicy { MaxRetries: Value; PerRetryTimeout: Duration; HttpRetryEvents?: List>; TcpRetryEvents?: List>; constructor(properties: HttpRetryPolicy); } export declare class HttpRoute { Action: HttpRouteAction; Timeout?: HttpTimeout; RetryPolicy?: HttpRetryPolicy; Match: HttpRouteMatch; constructor(properties: HttpRoute); } export declare class HttpRouteAction { WeightedTargets: List; constructor(properties: HttpRouteAction); } export declare class HttpRouteHeader { Invert?: Value; Name: Value; Match?: HeaderMatchMethod; constructor(properties: HttpRouteHeader); } export declare class HttpRouteMatch { Path?: HttpPathMatch; Scheme?: Value; Headers?: List; Port?: Value; Prefix?: Value; Method?: Value; QueryParameters?: List; constructor(properties: HttpRouteMatch); } export declare class HttpTimeout { PerRequest?: Duration; Idle?: Duration; constructor(properties: HttpTimeout); } export declare class MatchRange { Start: Value; End: Value; constructor(properties: MatchRange); } export declare class QueryParameter { Name: Value; Match?: HttpQueryParameterMatch; constructor(properties: QueryParameter); } export declare class RouteSpec { HttpRoute?: HttpRoute; Priority?: Value; Http2Route?: HttpRoute; GrpcRoute?: GrpcRoute; TcpRoute?: TcpRoute; constructor(properties: RouteSpec); } export declare class TcpRoute { Action: TcpRouteAction; Timeout?: TcpTimeout; Match?: TcpRouteMatch; constructor(properties: TcpRoute); } export declare class TcpRouteAction { WeightedTargets: List; constructor(properties: TcpRouteAction); } export declare class TcpRouteMatch { Port?: Value; constructor(properties: TcpRouteMatch); } export declare class TcpTimeout { Idle?: Duration; constructor(properties: TcpTimeout); } export declare class WeightedTarget { VirtualNode: Value; Port?: Value; Weight: Value; constructor(properties: WeightedTarget); } export interface RouteProperties { MeshName: Value; VirtualRouterName: Value; MeshOwner?: Value; RouteName?: Value; Spec: RouteSpec; Tags?: List; } export default class Route extends ResourceBase { static Duration: typeof Duration; static GrpcRetryPolicy: typeof GrpcRetryPolicy; static GrpcRoute: typeof GrpcRoute; static GrpcRouteAction: typeof GrpcRouteAction; static GrpcRouteMatch: typeof GrpcRouteMatch; static GrpcRouteMetadata: typeof GrpcRouteMetadata; static GrpcRouteMetadataMatchMethod: typeof GrpcRouteMetadataMatchMethod; static GrpcTimeout: typeof GrpcTimeout; static HeaderMatchMethod: typeof HeaderMatchMethod; static HttpPathMatch: typeof HttpPathMatch; static HttpQueryParameterMatch: typeof HttpQueryParameterMatch; static HttpRetryPolicy: typeof HttpRetryPolicy; static HttpRoute: typeof HttpRoute; static HttpRouteAction: typeof HttpRouteAction; static HttpRouteHeader: typeof HttpRouteHeader; static HttpRouteMatch: typeof HttpRouteMatch; static HttpTimeout: typeof HttpTimeout; static MatchRange: typeof MatchRange; static QueryParameter: typeof QueryParameter; static RouteSpec: typeof RouteSpec; static TcpRoute: typeof TcpRoute; static TcpRouteAction: typeof TcpRouteAction; static TcpRouteMatch: typeof TcpRouteMatch; static TcpTimeout: typeof TcpTimeout; static WeightedTarget: typeof WeightedTarget; constructor(properties: RouteProperties); }