import { HttpMethod, IStatusPattern, ServiceDiscoveryEndpoint } from '../../../index.js';
export interface SSLConfig {
    keyStoreAlias?: string;
    keyAlias?: string;
    trustStoreAlias?: string;
}
export interface INormalizedEndpoint {
    target?: ITargetEndpoint;
    suspendTimeout?: number;
    connectionTimeout?: number;
    sslConfig?: SSLConfig;
    serviceRegistryParameters?: ServiceDiscoveryEndpoint[];
}
export interface ITargetEndpoint {
    name?: string;
    tlsClientProfile?: string;
    url: string;
    urlType?: string;
    version?: string;
    timeout?: number;
    compressRequest?: string;
    decompressResponse?: boolean;
    followRedirects?: boolean;
    chunkedUpload?: boolean;
    persistentConnections?: boolean;
}
export interface INormalizedPolicy {
    input?: string;
    output?: string;
    loadBalancingAlgorithm: 'roundRobinHttp' | 'weightedRandomHttp';
    verb?: HttpMethod;
    statusException?: IStatusPattern[];
    endpointConfig: INormalizedEndpoint[];
}
export type TargetEndpointRef = {
    isFormValid: () => boolean;
};
//# sourceMappingURL=load-balancer-component.model.d.ts.map