import { Construct } from 'constructs'; import type { IListener } from './listener'; import type { IMatchHeader } from './match-header'; import type { IMatchPath } from './match-path'; import type { RuleAction } from './rule-action'; import type { IService } from './service'; import type { HttpMethod } from './util'; /** * Access mode for the rule. */ export declare enum RuleAccessMode { /** * Unauthenticated Access */ UNAUTHENTICATED = "UNAUTHENTICATED", /** * Unauthenticated Access */ AUTHENTICATED_ONLY = "AUTHENTICATED", /** * THIS Org only */ ORG_ONLY = "ORG_ONLY" } export interface RuleProps { /** * the action for the rule, is either a fixed Response, or a being sent to Weighted TargetGroup */ readonly action: RuleAction; /** * The listener to attach the rule to */ readonly listener: IListener; /** * The method match criteria for the rule. */ readonly matchMethod?: HttpMethod; /** * The path match criteria for the rule. */ readonly matchPath?: IMatchPath; /** * The header match criteria for the rule. */ readonly matchHeader?: IMatchHeader[]; /** * A name for the the Rule */ readonly name: string; /** * The priority of this rule, a lower priority will be processed first */ readonly priority: number; /** * The service to attach the rule to */ readonly service: IService; } /** * Define a new listener rule */ export declare class ListenerRule extends Construct { /** * The ARN of this rule */ readonly listenerRuleArn: string; private readonly matchMethod?; private readonly matchPath?; private readonly matchHeader?; private readonly match; private readonly listener; private readonly action; private readonly service; constructor(scope: Construct, id: string, props: RuleProps); }