import { IObjectMeta } from "@soft-stech/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@soft-stech/base";
/**
 * CloudEventSource defines how a KEDA event will be sent to event sink
 */
export interface ICloudEventSource {
    /**
     * APIVersion defines the versioned schema of this representation of an object.
     * Servers should convert recognized schemas to the latest internal value, and
     * may reject unrecognized values.
     * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
     */
    "apiVersion": "eventing.keda.sh/v1alpha1";
    /**
     * Kind is a string value representing the REST resource this object represents.
     * Servers may infer this from the endpoint the client submits requests to.
     * Cannot be updated.
     * In CamelCase.
     * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
     */
    "kind": "CloudEventSource";
    "metadata"?: IObjectMeta;
    /**
     * CloudEventSourceSpec defines the spec of CloudEventSource
     */
    "spec": {
        /**
         * AuthenticationRef points to the TriggerAuthentication or ClusterTriggerAuthentication object that
         * is used to authenticate the scaler with the environment
         */
        "authenticationRef"?: {
            /**
             * Kind of the resource being referred to. Defaults to TriggerAuthentication.
             */
            "kind"?: string;
            "name": string;
        };
        "clusterName"?: string;
        /**
         * Destination defines the various ways to emit events
         */
        "destination": {
            "azureEventGridTopic"?: {
                "endpoint": string;
            };
            "http"?: {
                "uri": string;
            };
        };
        /**
         * EventSubscription defines filters for events
         */
        "eventSubscription"?: {
            "excludedEventTypes"?: Array<"keda.scaledobject.ready.v1" | "keda.scaledobject.failed.v1">;
            "includedEventTypes"?: Array<"keda.scaledobject.ready.v1" | "keda.scaledobject.failed.v1">;
        };
    };
    /**
     * CloudEventSourceStatus defines the observed state of CloudEventSource
     */
    "status"?: {
        /**
         * Conditions an array representation to store multiple Conditions
         */
        "conditions"?: Array<{
            /**
             * A human readable message indicating details about the transition.
             */
            "message"?: string;
            /**
             * The reason for the condition's last transition.
             */
            "reason"?: string;
            /**
             * Status of the condition, one of True, False, Unknown.
             */
            "status": string;
            /**
             * Type of condition
             */
            "type": string;
        }>;
    };
}
/**
 * CloudEventSource defines how a KEDA event will be sent to event sink
 */
export declare class CloudEventSource extends Model<ICloudEventSource> implements ICloudEventSource {
    "apiVersion": ICloudEventSource["apiVersion"];
    "kind": ICloudEventSource["kind"];
    "metadata"?: ICloudEventSource["metadata"];
    "spec": ICloudEventSource["spec"];
    "status"?: ICloudEventSource["status"];
    static apiVersion: ICloudEventSource["apiVersion"];
    static kind: ICloudEventSource["kind"];
    static is: import("@soft-stech/base").TypeMetaGuard<ICloudEventSource>;
    constructor(data?: ModelData<ICloudEventSource>);
}
