import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ProviderSpec defines the desired state of Provider
 */
export interface IProviderSpec {
    /**
     * HTTP/S webhook address of this provider
     */
    "address"?: string;
    /**
     * CertSecretRef can be given the name of a secret containing
     * a PEM-encoded CA certificate (`caFile`)
     */
    "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    /**
     * Alert channel for this provider
     */
    "channel"?: string;
    /**
     * HTTP/S address of the proxy
     */
    "proxy"?: string;
    /**
     * Secret reference containing the provider webhook URL
     * using "address" as data key
     */
    "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    /**
     * This flag tells the controller to suspend subsequent events handling.
     * Defaults to false.
     */
    "suspend"?: boolean;
    "timeout"?: string;
    /**
     * Type of provider
     */
    "type": "slack" | "discord" | "msteams" | "rocket" | "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch";
    /**
     * Bot username for this provider
     */
    "username"?: string;
}
/**
 * ProviderSpec defines the desired state of Provider
 */
export declare class ProviderSpec extends Model<IProviderSpec> implements IProviderSpec {
    "address"?: string;
    "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    "channel"?: string;
    "proxy"?: string;
    "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
    "suspend"?: boolean;
    "timeout"?: string;
    "type": "slack" | "discord" | "msteams" | "rocket" | "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch";
    "username"?: string;
    constructor(data?: ModelData<IProviderSpec>);
}
export type { IProviderSpec as IComGithubFluxcdNotificationControllerApiV1beta1ProviderSpec, ProviderSpec as ComGithubFluxcdNotificationControllerApiV1beta1ProviderSpec };
