import { IComGithubFluxcdNotificationControllerApiV1beta1CrossNamespaceObjectReference } from "./CrossNamespaceObjectReference.js";
import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * AlertSpec defines an alerting rule for events involving a list of objects
 */
export interface IAlertSpec {
    /**
     * Filter events based on severity, defaults to ('info').
     * If set to 'info' no events will be filtered.
     */
    "eventSeverity"?: "info" | "error";
    /**
     * Filter events based on the involved objects.
     */
    "eventSources": Array<IComGithubFluxcdNotificationControllerApiV1beta1CrossNamespaceObjectReference>;
    /**
     * A list of Golang regular expressions to be used for excluding messages.
     */
    "exclusionList"?: Array<string>;
    /**
     * Send events using this provider.
     */
    "providerRef": IComGithubFluxcdPkgApisMetaLocalObjectReference;
    /**
     * Short description of the impact and affected cluster.
     */
    "summary"?: string;
    /**
     * This flag tells the controller to suspend subsequent events dispatching.
     * Defaults to false.
     */
    "suspend"?: boolean;
}
/**
 * AlertSpec defines an alerting rule for events involving a list of objects
 */
export declare class AlertSpec extends Model<IAlertSpec> implements IAlertSpec {
    "eventSeverity"?: "info" | "error";
    "eventSources": Array<IComGithubFluxcdNotificationControllerApiV1beta1CrossNamespaceObjectReference>;
    "exclusionList"?: Array<string>;
    "providerRef": IComGithubFluxcdPkgApisMetaLocalObjectReference;
    "summary"?: string;
    "suspend"?: boolean;
    constructor(data?: ModelData<IAlertSpec>);
}
export type { IAlertSpec as IComGithubFluxcdNotificationControllerApiV1beta1AlertSpec, AlertSpec as ComGithubFluxcdNotificationControllerApiV1beta1AlertSpec };
