import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Authentication } from "./Authentication.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetricHeader } from "./WebMetricHeader.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusRangeQueryArgs } from "./PrometheusRangeQueryArgs.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * PrometheusMetric defines the prometheus query to perform canary analysis
 */
export interface IPrometheusMetric {
    /**
     * Address is the HTTP address and port of the prometheus server
     */
    "address"?: string;
    /**
     * Authentication details
     */
    "authentication"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Authentication;
    /**
     * Headers are optional HTTP headers to use in the request
     */
    "headers"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetricHeader>;
    /**
     * Insecure skips host TLS verification
     */
    "insecure"?: boolean;
    /**
     * Query is a raw prometheus query to perform
     */
    "query"?: string;
    /**
     * Arguments for prometheus
     */
    "rangeQuery"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusRangeQueryArgs;
    /**
     * Timeout represents the duration within which a prometheus query should complete. It is expressed in seconds.
     */
    "timeout"?: number;
}
/**
 * PrometheusMetric defines the prometheus query to perform canary analysis
 */
export declare class PrometheusMetric extends Model<IPrometheusMetric> implements IPrometheusMetric {
    "address"?: string;
    "authentication"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Authentication;
    "headers"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1WebMetricHeader>;
    "insecure"?: boolean;
    "query"?: string;
    "rangeQuery"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusRangeQueryArgs;
    "timeout"?: number;
    constructor(data?: ModelData<IPrometheusMetric>);
}
export type { IPrometheusMetric as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric, PrometheusMetric as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PrometheusMetric };
