import { DataModel } from '@dvn/core/models/data-model';
import { Ref } from '@dvn/core/models/ref';
export declare class LoadBalancer extends DataModel {
  name: string;
  listeners: LoadBalancerListener[];
}
export declare class LoadBalancerListener {
  port: number;
  rules: ListenerRule[];
  forwardAction: ForwardAction;
}
export declare type ListenerRuleType = 'host' | 'path' | 'header' | 'cookie' | 'method' | 'query' | 'source-ip';
export declare class ListenerRule {
  type: ListenerRuleType;
  hostValue: string[];
  pathValue: string[];
  methodValue: string[];
  headerValue: {
    [key: string]: string[];
  };
  cookieValue: {
    [key: string]: string[];
  };
  queryValue: {
    [key: string]: string[];
  };
  sourceIPValue: string[];
}
export declare class ForwardAction {
  targets: ForwardActionTarget[];
}
export declare class ForwardActionTarget {
  targetGroup: Ref;
  weight: number;
}
