import { z } from "zod";
/**
 * Provider is the Schema for the providers API
 */
export declare const IProviderSchema: z.ZodObject<{
    /**
     * 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: z.ZodLiteral<"notification.toolkit.fluxcd.io/v1beta3">;
    /**
     * 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: z.ZodLiteral<"Provider">;
    metadata: z.ZodOptional<z.ZodObject<{
        annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        creationTimestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        deletionGracePeriodSeconds: z.ZodOptional<z.ZodNumber>;
        deletionTimestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        finalizers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        generateName: z.ZodOptional<z.ZodString>;
        generation: z.ZodOptional<z.ZodNumber>;
        labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        managedFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
            apiVersion: z.ZodOptional<z.ZodString>;
            fieldsType: z.ZodOptional<z.ZodString>;
            fieldsV1: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
            manager: z.ZodOptional<z.ZodString>;
            operation: z.ZodOptional<z.ZodString>;
            subresource: z.ZodOptional<z.ZodString>;
            time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, "strip", z.ZodTypeAny, {
            apiVersion?: string | undefined;
            fieldsType?: string | undefined;
            fieldsV1?: {} | undefined;
            manager?: string | undefined;
            operation?: string | undefined;
            subresource?: string | undefined;
            time?: string | null | undefined;
        }, {
            apiVersion?: string | undefined;
            fieldsType?: string | undefined;
            fieldsV1?: {} | undefined;
            manager?: string | undefined;
            operation?: string | undefined;
            subresource?: string | undefined;
            time?: string | null | undefined;
        }>, "many">>;
        name: z.ZodOptional<z.ZodString>;
        namespace: z.ZodOptional<z.ZodString>;
        ownerReferences: z.ZodOptional<z.ZodArray<z.ZodObject<{
            apiVersion: z.ZodString;
            blockOwnerDeletion: z.ZodOptional<z.ZodBoolean>;
            controller: z.ZodOptional<z.ZodBoolean>;
            kind: z.ZodString;
            name: z.ZodString;
            uid: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            apiVersion: string;
            kind: string;
            name: string;
            uid: string;
            blockOwnerDeletion?: boolean | undefined;
            controller?: boolean | undefined;
        }, {
            apiVersion: string;
            kind: string;
            name: string;
            uid: string;
            blockOwnerDeletion?: boolean | undefined;
            controller?: boolean | undefined;
        }>, "many">>;
        resourceVersion: z.ZodOptional<z.ZodString>;
        selfLink: z.ZodOptional<z.ZodString>;
        uid: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name?: string | undefined;
        uid?: string | undefined;
        resourceVersion?: string | undefined;
        selfLink?: string | undefined;
        annotations?: Record<string, string> | undefined;
        creationTimestamp?: string | null | undefined;
        deletionGracePeriodSeconds?: number | undefined;
        deletionTimestamp?: string | null | undefined;
        finalizers?: string[] | undefined;
        generateName?: string | undefined;
        generation?: number | undefined;
        labels?: Record<string, string> | undefined;
        managedFields?: {
            apiVersion?: string | undefined;
            fieldsType?: string | undefined;
            fieldsV1?: {} | undefined;
            manager?: string | undefined;
            operation?: string | undefined;
            subresource?: string | undefined;
            time?: string | null | undefined;
        }[] | undefined;
        namespace?: string | undefined;
        ownerReferences?: {
            apiVersion: string;
            kind: string;
            name: string;
            uid: string;
            blockOwnerDeletion?: boolean | undefined;
            controller?: boolean | undefined;
        }[] | undefined;
    }, {
        name?: string | undefined;
        uid?: string | undefined;
        resourceVersion?: string | undefined;
        selfLink?: string | undefined;
        annotations?: Record<string, string> | undefined;
        creationTimestamp?: string | null | undefined;
        deletionGracePeriodSeconds?: number | undefined;
        deletionTimestamp?: string | null | undefined;
        finalizers?: string[] | undefined;
        generateName?: string | undefined;
        generation?: number | undefined;
        labels?: Record<string, string> | undefined;
        managedFields?: {
            apiVersion?: string | undefined;
            fieldsType?: string | undefined;
            fieldsV1?: {} | undefined;
            manager?: string | undefined;
            operation?: string | undefined;
            subresource?: string | undefined;
            time?: string | null | undefined;
        }[] | undefined;
        namespace?: string | undefined;
        ownerReferences?: {
            apiVersion: string;
            kind: string;
            name: string;
            uid: string;
            blockOwnerDeletion?: boolean | undefined;
            controller?: boolean | undefined;
        }[] | undefined;
    }>>;
    /**
     * ProviderSpec defines the desired state of the Provider.
     */
    spec: z.ZodOptional<z.ZodObject<{
        /**
         * Address specifies the endpoint, in a generic sense, to where alerts are sent. What kind of endpoint depends on the specific Provider type being used. For the generic Provider, for example, this is an HTTP/S address. For other Provider types this could be a project ID or a namespace.
         * @maxLength 2048
         */
        address: z.ZodOptional<z.ZodString>;
        /**
         * CertSecretRef specifies the Secret containing a PEM-encoded CA certificate (in the `ca.crt` key).
         *  Note: Support for the `caFile` key has been deprecated.
         */
        certSecretRef: z.ZodOptional<z.ZodObject<{
            /**
             * Name of the referent.
             */
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>>;
        /**
         * Channel specifies the destination channel where events should be posted.
         * @maxLength 2048
         */
        channel: z.ZodOptional<z.ZodString>;
        /**
         * Interval at which to reconcile the Provider with its Secret references. Deprecated and not used in v1beta3.
         * @pattern ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
         */
        interval: z.ZodOptional<z.ZodString>;
        /**
         * Proxy the HTTP/S address of the proxy server.
         * @maxLength 2048
         * @pattern ^(http|https):\/\/.*$
         */
        proxy: z.ZodOptional<z.ZodString>;
        /**
         * SecretRef specifies the Secret containing the authentication credentials for this Provider.
         */
        secretRef: z.ZodOptional<z.ZodObject<{
            /**
             * Name of the referent.
             */
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>>;
        /**
         * Suspend tells the controller to suspend subsequent events handling for this Provider.
         */
        suspend: z.ZodOptional<z.ZodBoolean>;
        /**
         * Timeout for sending alerts to the Provider.
         * @pattern ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
         */
        timeout: z.ZodOptional<z.ZodString>;
        /**
         * Type specifies which Provider implementation to use.
         */
        type: z.ZodUnion<[z.ZodLiteral<"slack">, z.ZodLiteral<"discord">, z.ZodLiteral<"msteams">, z.ZodLiteral<"rocket">, z.ZodLiteral<"generic">, z.ZodLiteral<"generic-hmac">, z.ZodLiteral<"github">, z.ZodLiteral<"gitlab">, z.ZodLiteral<"gitea">, z.ZodLiteral<"bitbucketserver">, z.ZodLiteral<"bitbucket">, z.ZodLiteral<"azuredevops">, z.ZodLiteral<"googlechat">, z.ZodLiteral<"googlepubsub">, z.ZodLiteral<"webex">, z.ZodLiteral<"sentry">, z.ZodLiteral<"azureeventhub">, z.ZodLiteral<"telegram">, z.ZodLiteral<"lark">, z.ZodLiteral<"matrix">, z.ZodLiteral<"opsgenie">, z.ZodLiteral<"alertmanager">, z.ZodLiteral<"grafana">, z.ZodLiteral<"githubdispatch">, z.ZodLiteral<"pagerduty">, z.ZodLiteral<"datadog">, z.ZodLiteral<"nats">]>;
        /**
         * Username specifies the name under which events are posted.
         * @maxLength 2048
         */
        username: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "generic" | "slack" | "discord" | "msteams" | "rocket" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch" | "gitea" | "bitbucketserver" | "googlepubsub" | "pagerduty" | "datadog" | "nats";
        interval?: string | undefined;
        secretRef?: {
            name: string;
        } | undefined;
        timeout?: string | undefined;
        suspend?: boolean | undefined;
        certSecretRef?: {
            name: string;
        } | undefined;
        address?: string | undefined;
        channel?: string | undefined;
        proxy?: string | undefined;
        username?: string | undefined;
    }, {
        type: "generic" | "slack" | "discord" | "msteams" | "rocket" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch" | "gitea" | "bitbucketserver" | "googlepubsub" | "pagerduty" | "datadog" | "nats";
        interval?: string | undefined;
        secretRef?: {
            name: string;
        } | undefined;
        timeout?: string | undefined;
        suspend?: boolean | undefined;
        certSecretRef?: {
            name: string;
        } | undefined;
        address?: string | undefined;
        channel?: string | undefined;
        proxy?: string | undefined;
        username?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    apiVersion: "notification.toolkit.fluxcd.io/v1beta3";
    kind: "Provider";
    metadata?: {
        name?: string | undefined;
        uid?: string | undefined;
        resourceVersion?: string | undefined;
        selfLink?: string | undefined;
        annotations?: Record<string, string> | undefined;
        creationTimestamp?: string | null | undefined;
        deletionGracePeriodSeconds?: number | undefined;
        deletionTimestamp?: string | null | undefined;
        finalizers?: string[] | undefined;
        generateName?: string | undefined;
        generation?: number | undefined;
        labels?: Record<string, string> | undefined;
        managedFields?: {
            apiVersion?: string | undefined;
            fieldsType?: string | undefined;
            fieldsV1?: {} | undefined;
            manager?: string | undefined;
            operation?: string | undefined;
            subresource?: string | undefined;
            time?: string | null | undefined;
        }[] | undefined;
        namespace?: string | undefined;
        ownerReferences?: {
            apiVersion: string;
            kind: string;
            name: string;
            uid: string;
            blockOwnerDeletion?: boolean | undefined;
            controller?: boolean | undefined;
        }[] | undefined;
    } | undefined;
    spec?: {
        type: "generic" | "slack" | "discord" | "msteams" | "rocket" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch" | "gitea" | "bitbucketserver" | "googlepubsub" | "pagerduty" | "datadog" | "nats";
        interval?: string | undefined;
        secretRef?: {
            name: string;
        } | undefined;
        timeout?: string | undefined;
        suspend?: boolean | undefined;
        certSecretRef?: {
            name: string;
        } | undefined;
        address?: string | undefined;
        channel?: string | undefined;
        proxy?: string | undefined;
        username?: string | undefined;
    } | undefined;
}, {
    apiVersion: "notification.toolkit.fluxcd.io/v1beta3";
    kind: "Provider";
    metadata?: {
        name?: string | undefined;
        uid?: string | undefined;
        resourceVersion?: string | undefined;
        selfLink?: string | undefined;
        annotations?: Record<string, string> | undefined;
        creationTimestamp?: string | null | undefined;
        deletionGracePeriodSeconds?: number | undefined;
        deletionTimestamp?: string | null | undefined;
        finalizers?: string[] | undefined;
        generateName?: string | undefined;
        generation?: number | undefined;
        labels?: Record<string, string> | undefined;
        managedFields?: {
            apiVersion?: string | undefined;
            fieldsType?: string | undefined;
            fieldsV1?: {} | undefined;
            manager?: string | undefined;
            operation?: string | undefined;
            subresource?: string | undefined;
            time?: string | null | undefined;
        }[] | undefined;
        namespace?: string | undefined;
        ownerReferences?: {
            apiVersion: string;
            kind: string;
            name: string;
            uid: string;
            blockOwnerDeletion?: boolean | undefined;
            controller?: boolean | undefined;
        }[] | undefined;
    } | undefined;
    spec?: {
        type: "generic" | "slack" | "discord" | "msteams" | "rocket" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "azuredevops" | "googlechat" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch" | "gitea" | "bitbucketserver" | "googlepubsub" | "pagerduty" | "datadog" | "nats";
        interval?: string | undefined;
        secretRef?: {
            name: string;
        } | undefined;
        timeout?: string | undefined;
        suspend?: boolean | undefined;
        certSecretRef?: {
            name: string;
        } | undefined;
        address?: string | undefined;
        channel?: string | undefined;
        proxy?: string | undefined;
        username?: string | undefined;
    } | undefined;
}>;
