import { z } from "zod";
/**
 * SpiffeID is the Schema for the spiffeid API
 */
export declare const ISpiffeIDSchema: 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<"spiffeid.spiffe.io/v1beta1">;
    /**
     * 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<"SpiffeID">;
    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;
    }>>;
    /**
     * SpiffeIDSpec defines the desired state of SpiffeID
     */
    spec: z.ZodOptional<z.ZodObject<{
        dnsNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        federatesWith: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        parentId: z.ZodString;
        downstream: z.ZodOptional<z.ZodBoolean>;
        selector: z.ZodObject<{
            /**
             * Arbitrary selectors
             */
            arbitrary: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            /**
             * Container image to match for this spiffe ID
             */
            containerImage: z.ZodOptional<z.ZodString>;
            /**
             * Container name to match for this spiffe ID
             */
            containerName: z.ZodOptional<z.ZodString>;
            /**
             * Namespace to match for this spiffe ID
             */
            namespace: z.ZodOptional<z.ZodString>;
            /**
             * Node name to match for this spiffe ID
             */
            nodeName: z.ZodOptional<z.ZodString>;
            /**
             * Pod label name/value to match for this spiffe ID
             */
            podLabel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            /**
             * Pod name to match for this spiffe ID
             */
            podName: z.ZodOptional<z.ZodString>;
            /**
             * Pod UID to match for this spiffe ID
             */
            podUid: z.ZodOptional<z.ZodString>;
            /**
             * ServiceAccount to match for this spiffe ID
             */
            serviceAccount: z.ZodOptional<z.ZodString>;
            /**
             * The k8s_psat cluster name
             */
            cluster: z.ZodOptional<z.ZodString>;
            /**
             * UID of the node
             */
            agent_node_uid: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            arbitrary?: string[] | undefined;
            containerImage?: string | undefined;
            containerName?: string | undefined;
            namespace?: string | undefined;
            nodeName?: string | undefined;
            podLabel?: Record<string, string> | undefined;
            podName?: string | undefined;
            podUid?: string | undefined;
            serviceAccount?: string | undefined;
            cluster?: string | undefined;
            agent_node_uid?: string | undefined;
        }, {
            arbitrary?: string[] | undefined;
            containerImage?: string | undefined;
            containerName?: string | undefined;
            namespace?: string | undefined;
            nodeName?: string | undefined;
            podLabel?: Record<string, string> | undefined;
            podName?: string | undefined;
            podUid?: string | undefined;
            serviceAccount?: string | undefined;
            cluster?: string | undefined;
            agent_node_uid?: string | undefined;
        }>;
        spiffeId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        parentId: string;
        selector: {
            arbitrary?: string[] | undefined;
            containerImage?: string | undefined;
            containerName?: string | undefined;
            namespace?: string | undefined;
            nodeName?: string | undefined;
            podLabel?: Record<string, string> | undefined;
            podName?: string | undefined;
            podUid?: string | undefined;
            serviceAccount?: string | undefined;
            cluster?: string | undefined;
            agent_node_uid?: string | undefined;
        };
        spiffeId: string;
        dnsNames?: string[] | undefined;
        federatesWith?: string[] | undefined;
        downstream?: boolean | undefined;
    }, {
        parentId: string;
        selector: {
            arbitrary?: string[] | undefined;
            containerImage?: string | undefined;
            containerName?: string | undefined;
            namespace?: string | undefined;
            nodeName?: string | undefined;
            podLabel?: Record<string, string> | undefined;
            podName?: string | undefined;
            podUid?: string | undefined;
            serviceAccount?: string | undefined;
            cluster?: string | undefined;
            agent_node_uid?: string | undefined;
        };
        spiffeId: string;
        dnsNames?: string[] | undefined;
        federatesWith?: string[] | undefined;
        downstream?: boolean | undefined;
    }>>;
    /**
     * SpiffeIDStatus defines the observed state of SpiffeID
     */
    status: z.ZodOptional<z.ZodObject<{
        /**
         * INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run "make" to regenerate code after modifying this file
         */
        entryId: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        entryId?: string | undefined;
    }, {
        entryId?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    apiVersion: "spiffeid.spiffe.io/v1beta1";
    kind: "SpiffeID";
    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?: {
        parentId: string;
        selector: {
            arbitrary?: string[] | undefined;
            containerImage?: string | undefined;
            containerName?: string | undefined;
            namespace?: string | undefined;
            nodeName?: string | undefined;
            podLabel?: Record<string, string> | undefined;
            podName?: string | undefined;
            podUid?: string | undefined;
            serviceAccount?: string | undefined;
            cluster?: string | undefined;
            agent_node_uid?: string | undefined;
        };
        spiffeId: string;
        dnsNames?: string[] | undefined;
        federatesWith?: string[] | undefined;
        downstream?: boolean | undefined;
    } | undefined;
    status?: {
        entryId?: string | undefined;
    } | undefined;
}, {
    apiVersion: "spiffeid.spiffe.io/v1beta1";
    kind: "SpiffeID";
    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?: {
        parentId: string;
        selector: {
            arbitrary?: string[] | undefined;
            containerImage?: string | undefined;
            containerName?: string | undefined;
            namespace?: string | undefined;
            nodeName?: string | undefined;
            podLabel?: Record<string, string> | undefined;
            podName?: string | undefined;
            podUid?: string | undefined;
            serviceAccount?: string | undefined;
            cluster?: string | undefined;
            agent_node_uid?: string | undefined;
        };
        spiffeId: string;
        dnsNames?: string[] | undefined;
        federatesWith?: string[] | undefined;
        downstream?: boolean | undefined;
    } | undefined;
    status?: {
        entryId?: string | undefined;
    } | undefined;
}>;
