import { Manifest, type ManifestConfig } from "@cdktf/provider-kubernetes/lib/manifest";
import { Construct } from "constructs";
export declare class KubernetesComputeFirewallPolicyV1beta1Manifest extends Manifest {
    constructor(scope: Construct, id: string, config: KubernetesComputeFirewallPolicyV1beta1ManifestConfig);
}
export interface KubernetesComputeFirewallPolicyV1beta1ManifestConfig extends ManifestConfig {
    manifest: {
        apiVersion?: "compute.cnrm.cloud.google.com/v1beta1";
        kind?: "ComputeFirewallPolicy";
        metadata: {
            annotations?: {
                [key: string]: string;
            };
            labels?: {
                [key: string]: string;
            };
            name: string;
            namespace?: string;
        };
        spec: {
            /** @description An optional description of this resource. Provide this property when you create the resource. */
            description?: string;
            /** @description Immutable. The Folder that this resource belongs to. Only one of [folderRef, organizationRef] may be specified. */
            folderRef?: {
                /** @description Allowed value: The Google Cloud resource name of a `Folder` resource (format: `folders/{{name}}`). */
                external?: string;
                /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */
                name?: string;
                /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */
                namespace?: string;
            } & (unknown | unknown);
            /** @description Immutable. The Organization that this resource belongs to. Only one of [folderRef, organizationRef] may be specified. */
            organizationRef?: {
                /** @description Allowed value: The Google Cloud resource name of a Google Cloud Organization (format: `organizations/{{name}}`). */
                external?: string;
                /** @description [WARNING] Organization not yet supported in Config Connector, use 'external' field to reference existing resources.
                 *     Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */
                name?: string;
                /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */
                namespace?: string;
            } & (unknown | unknown);
            /** @description Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource. */
            resourceID?: string;
            /** @description Immutable. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */
            shortName: string;
        } & (unknown | unknown);
        status?: {
            /** @description Conditions represent the latest available observation of the resource's current state. */
            conditions?: {
                /** @description Last time the condition transitioned from one status to another. */
                lastTransitionTime?: string;
                /** @description Human-readable message indicating details about last transition. */
                message?: string;
                /** @description Unique, one-word, CamelCase reason for the condition's last transition. */
                reason?: string;
                /** @description Status is the status of the condition. Can be True, False, Unknown. */
                status?: string;
                /** @description Type is the type of the condition. */
                type?: string;
            }[];
            /** @description Creation timestamp in RFC3339 text format. */
            creationTimestamp?: string;
            /** @description Fingerprint of the resource. This field is used internally during updates of this resource. */
            fingerprint?: string;
            /** @description The unique identifier for the resource. This identifier is defined by the server. */
            id?: string;
            /** @description ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
            observedGeneration?: number;
            /**
             * Format: int64
             * @description Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.
             */
            ruleTupleCount?: number;
            /** @description Server-defined URL for the resource. */
            selfLink?: string;
            /** @description Server-defined URL for this resource with the resource id. */
            selfLinkWithId?: string;
        };
    };
}
