import { Manifest, type ManifestConfig } from "@cdktf/provider-kubernetes/lib/manifest";
import { Construct } from "constructs";
export declare class KubernetesOpAMPBridgeV1alpha1Manifest extends Manifest {
    constructor(scope: Construct, id: string, config: KubernetesOpAMPBridgeV1alpha1ManifestConfig);
}
export interface KubernetesOpAMPBridgeV1alpha1ManifestConfig extends ManifestConfig {
    manifest: {
        apiVersion?: "opentelemetry.io/v1alpha1";
        kind?: "OpAMPBridge";
        metadata: {
            annotations?: {
                [key: string]: string;
            };
            labels?: {
                [key: string]: string;
            };
            name: string;
            namespace?: string;
        };
        spec?: {
            affinity?: {
                nodeAffinity?: {
                    preferredDuringSchedulingIgnoredDuringExecution?: {
                        preference: {
                            matchExpressions?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                            matchFields?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                        };
                        /** Format: int32 */
                        weight: number;
                    }[];
                    requiredDuringSchedulingIgnoredDuringExecution?: {
                        nodeSelectorTerms: {
                            matchExpressions?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                            matchFields?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                        }[];
                    };
                };
                podAffinity?: {
                    preferredDuringSchedulingIgnoredDuringExecution?: {
                        podAffinityTerm: {
                            labelSelector?: {
                                matchExpressions?: {
                                    key: string;
                                    operator: string;
                                    values?: string[];
                                }[];
                                matchLabels?: {
                                    [key: string]: string;
                                };
                            };
                            matchLabelKeys?: string[];
                            mismatchLabelKeys?: string[];
                            namespaceSelector?: {
                                matchExpressions?: {
                                    key: string;
                                    operator: string;
                                    values?: string[];
                                }[];
                                matchLabels?: {
                                    [key: string]: string;
                                };
                            };
                            namespaces?: string[];
                            topologyKey: string;
                        };
                        /** Format: int32 */
                        weight: number;
                    }[];
                    requiredDuringSchedulingIgnoredDuringExecution?: {
                        labelSelector?: {
                            matchExpressions?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                            matchLabels?: {
                                [key: string]: string;
                            };
                        };
                        matchLabelKeys?: string[];
                        mismatchLabelKeys?: string[];
                        namespaceSelector?: {
                            matchExpressions?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                            matchLabels?: {
                                [key: string]: string;
                            };
                        };
                        namespaces?: string[];
                        topologyKey: string;
                    }[];
                };
                podAntiAffinity?: {
                    preferredDuringSchedulingIgnoredDuringExecution?: {
                        podAffinityTerm: {
                            labelSelector?: {
                                matchExpressions?: {
                                    key: string;
                                    operator: string;
                                    values?: string[];
                                }[];
                                matchLabels?: {
                                    [key: string]: string;
                                };
                            };
                            matchLabelKeys?: string[];
                            mismatchLabelKeys?: string[];
                            namespaceSelector?: {
                                matchExpressions?: {
                                    key: string;
                                    operator: string;
                                    values?: string[];
                                }[];
                                matchLabels?: {
                                    [key: string]: string;
                                };
                            };
                            namespaces?: string[];
                            topologyKey: string;
                        };
                        /** Format: int32 */
                        weight: number;
                    }[];
                    requiredDuringSchedulingIgnoredDuringExecution?: {
                        labelSelector?: {
                            matchExpressions?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                            matchLabels?: {
                                [key: string]: string;
                            };
                        };
                        matchLabelKeys?: string[];
                        mismatchLabelKeys?: string[];
                        namespaceSelector?: {
                            matchExpressions?: {
                                key: string;
                                operator: string;
                                values?: string[];
                            }[];
                            matchLabels?: {
                                [key: string]: string;
                            };
                        };
                        namespaces?: string[];
                        topologyKey: string;
                    }[];
                };
            };
            capabilities: {
                [key: string]: boolean;
            };
            componentsAllowed?: {
                [key: string]: string[];
            };
            description?: {
                non_identifying_attributes: {
                    [key: string]: string;
                };
            };
            endpoint: string;
            env?: {
                name: string;
                value?: string;
                valueFrom?: {
                    configMapKeyRef?: {
                        key: string;
                        /** @default  */
                        name: string;
                        optional?: boolean;
                    };
                    fieldRef?: {
                        apiVersion?: string;
                        fieldPath: string;
                    };
                    resourceFieldRef?: {
                        containerName?: string;
                        divisor?: number | string;
                        resource: string;
                    };
                    secretKeyRef?: {
                        key: string;
                        /** @default  */
                        name: string;
                        optional?: boolean;
                    };
                };
            }[];
            envFrom?: {
                configMapRef?: {
                    /** @default  */
                    name: string;
                    optional?: boolean;
                };
                prefix?: string;
                secretRef?: {
                    /** @default  */
                    name: string;
                    optional?: boolean;
                };
            }[];
            headers?: {
                [key: string]: string;
            };
            hostNetwork?: boolean;
            image?: string;
            imagePullPolicy?: string;
            ipFamilies?: string[];
            ipFamilyPolicy?: string;
            nodeSelector?: {
                [key: string]: string;
            };
            podAnnotations?: {
                [key: string]: string;
            };
            podDnsConfig?: {
                nameservers?: string[];
                options?: {
                    name?: string;
                    value?: string;
                }[];
                searches?: string[];
            };
            podSecurityContext?: {
                appArmorProfile?: {
                    localhostProfile?: string;
                    type: string;
                };
                /** Format: int64 */
                fsGroup?: number;
                fsGroupChangePolicy?: string;
                /** Format: int64 */
                runAsGroup?: number;
                runAsNonRoot?: boolean;
                /** Format: int64 */
                runAsUser?: number;
                seLinuxChangePolicy?: string;
                seLinuxOptions?: {
                    level?: string;
                    role?: string;
                    type?: string;
                    user?: string;
                };
                seccompProfile?: {
                    localhostProfile?: string;
                    type: string;
                };
                supplementalGroups?: number[];
                supplementalGroupsPolicy?: string;
                sysctls?: {
                    name: string;
                    value: string;
                }[];
                windowsOptions?: {
                    gmsaCredentialSpec?: string;
                    gmsaCredentialSpecName?: string;
                    hostProcess?: boolean;
                    runAsUserName?: string;
                };
            };
            ports?: {
                appProtocol?: string;
                name?: string;
                /** Format: int32 */
                nodePort?: number;
                /** Format: int32 */
                port: number;
                /** @default TCP */
                protocol: string;
                targetPort?: number | string;
            }[];
            priorityClassName?: string;
            /** Format: int32 */
            replicas?: number;
            resources?: {
                claims?: {
                    name: string;
                    request?: string;
                }[];
                limits?: {
                    [key: string]: number | string;
                };
                requests?: {
                    [key: string]: number | string;
                };
            };
            securityContext?: {
                allowPrivilegeEscalation?: boolean;
                appArmorProfile?: {
                    localhostProfile?: string;
                    type: string;
                };
                capabilities?: {
                    add?: string[];
                    drop?: string[];
                };
                privileged?: boolean;
                procMount?: string;
                readOnlyRootFilesystem?: boolean;
                /** Format: int64 */
                runAsGroup?: number;
                runAsNonRoot?: boolean;
                /** Format: int64 */
                runAsUser?: number;
                seLinuxOptions?: {
                    level?: string;
                    role?: string;
                    type?: string;
                    user?: string;
                };
                seccompProfile?: {
                    localhostProfile?: string;
                    type: string;
                };
                windowsOptions?: {
                    gmsaCredentialSpec?: string;
                    gmsaCredentialSpecName?: string;
                    hostProcess?: boolean;
                    runAsUserName?: string;
                };
            };
            serviceAccount?: string;
            tolerations?: {
                effect?: string;
                key?: string;
                operator?: string;
                /** Format: int64 */
                tolerationSeconds?: number;
                value?: string;
            }[];
            topologySpreadConstraints?: {
                labelSelector?: {
                    matchExpressions?: {
                        key: string;
                        operator: string;
                        values?: string[];
                    }[];
                    matchLabels?: {
                        [key: string]: string;
                    };
                };
                matchLabelKeys?: string[];
                /** Format: int32 */
                maxSkew: number;
                /** Format: int32 */
                minDomains?: number;
                nodeAffinityPolicy?: string;
                nodeTaintsPolicy?: string;
                topologyKey: string;
                whenUnsatisfiable: string;
            }[];
            upgradeStrategy?: string;
            volumeMounts?: {
                mountPath: string;
                mountPropagation?: string;
                name: string;
                readOnly?: boolean;
                recursiveReadOnly?: string;
                subPath?: string;
                subPathExpr?: string;
            }[];
            volumes?: {
                awsElasticBlockStore?: {
                    fsType?: string;
                    /** Format: int32 */
                    partition?: number;
                    readOnly?: boolean;
                    volumeID: string;
                };
                azureDisk?: {
                    cachingMode?: string;
                    diskName: string;
                    diskURI: string;
                    /** @default ext4 */
                    fsType: string;
                    kind?: string;
                    /** @default false */
                    readOnly: boolean;
                };
                azureFile?: {
                    readOnly?: boolean;
                    secretName: string;
                    shareName: string;
                };
                cephfs?: {
                    monitors: string[];
                    path?: string;
                    readOnly?: boolean;
                    secretFile?: string;
                    secretRef?: {
                        /** @default  */
                        name: string;
                    };
                    user?: string;
                };
                cinder?: {
                    fsType?: string;
                    readOnly?: boolean;
                    secretRef?: {
                        /** @default  */
                        name: string;
                    };
                    volumeID: string;
                };
                configMap?: {
                    /** Format: int32 */
                    defaultMode?: number;
                    items?: {
                        key: string;
                        /** Format: int32 */
                        mode?: number;
                        path: string;
                    }[];
                    /** @default  */
                    name: string;
                    optional?: boolean;
                };
                csi?: {
                    driver: string;
                    fsType?: string;
                    nodePublishSecretRef?: {
                        /** @default  */
                        name: string;
                    };
                    readOnly?: boolean;
                    volumeAttributes?: {
                        [key: string]: string;
                    };
                };
                downwardAPI?: {
                    /** Format: int32 */
                    defaultMode?: number;
                    items?: {
                        fieldRef?: {
                            apiVersion?: string;
                            fieldPath: string;
                        };
                        /** Format: int32 */
                        mode?: number;
                        path: string;
                        resourceFieldRef?: {
                            containerName?: string;
                            divisor?: number | string;
                            resource: string;
                        };
                    }[];
                };
                emptyDir?: {
                    medium?: string;
                    sizeLimit?: number | string;
                };
                ephemeral?: {
                    volumeClaimTemplate?: {
                        metadata?: {
                            annotations?: {
                                [key: string]: string;
                            };
                            finalizers?: string[];
                            labels?: {
                                [key: string]: string;
                            };
                            name?: string;
                            namespace?: string;
                        };
                        spec: {
                            accessModes?: string[];
                            dataSource?: {
                                apiGroup?: string;
                                kind: string;
                                name: string;
                            };
                            dataSourceRef?: {
                                apiGroup?: string;
                                kind: string;
                                name: string;
                                namespace?: string;
                            };
                            resources?: {
                                limits?: {
                                    [key: string]: number | string;
                                };
                                requests?: {
                                    [key: string]: number | string;
                                };
                            };
                            selector?: {
                                matchExpressions?: {
                                    key: string;
                                    operator: string;
                                    values?: string[];
                                }[];
                                matchLabels?: {
                                    [key: string]: string;
                                };
                            };
                            storageClassName?: string;
                            volumeAttributesClassName?: string;
                            volumeMode?: string;
                            volumeName?: string;
                        };
                    };
                };
                fc?: {
                    fsType?: string;
                    /** Format: int32 */
                    lun?: number;
                    readOnly?: boolean;
                    targetWWNs?: string[];
                    wwids?: string[];
                };
                flexVolume?: {
                    driver: string;
                    fsType?: string;
                    options?: {
                        [key: string]: string;
                    };
                    readOnly?: boolean;
                    secretRef?: {
                        /** @default  */
                        name: string;
                    };
                };
                flocker?: {
                    datasetName?: string;
                    datasetUUID?: string;
                };
                gcePersistentDisk?: {
                    fsType?: string;
                    /** Format: int32 */
                    partition?: number;
                    pdName: string;
                    readOnly?: boolean;
                };
                gitRepo?: {
                    directory?: string;
                    repository: string;
                    revision?: string;
                };
                glusterfs?: {
                    endpoints: string;
                    path: string;
                    readOnly?: boolean;
                };
                hostPath?: {
                    path: string;
                    type?: string;
                };
                image?: {
                    pullPolicy?: string;
                    reference?: string;
                };
                iscsi?: {
                    chapAuthDiscovery?: boolean;
                    chapAuthSession?: boolean;
                    fsType?: string;
                    initiatorName?: string;
                    iqn: string;
                    /** @default default */
                    iscsiInterface: string;
                    /** Format: int32 */
                    lun: number;
                    portals?: string[];
                    readOnly?: boolean;
                    secretRef?: {
                        /** @default  */
                        name: string;
                    };
                    targetPortal: string;
                };
                name: string;
                nfs?: {
                    path: string;
                    readOnly?: boolean;
                    server: string;
                };
                persistentVolumeClaim?: {
                    claimName: string;
                    readOnly?: boolean;
                };
                photonPersistentDisk?: {
                    fsType?: string;
                    pdID: string;
                };
                portworxVolume?: {
                    fsType?: string;
                    readOnly?: boolean;
                    volumeID: string;
                };
                projected?: {
                    /** Format: int32 */
                    defaultMode?: number;
                    sources?: {
                        clusterTrustBundle?: {
                            labelSelector?: {
                                matchExpressions?: {
                                    key: string;
                                    operator: string;
                                    values?: string[];
                                }[];
                                matchLabels?: {
                                    [key: string]: string;
                                };
                            };
                            name?: string;
                            optional?: boolean;
                            path: string;
                            signerName?: string;
                        };
                        configMap?: {
                            items?: {
                                key: string;
                                /** Format: int32 */
                                mode?: number;
                                path: string;
                            }[];
                            /** @default  */
                            name: string;
                            optional?: boolean;
                        };
                        downwardAPI?: {
                            items?: {
                                fieldRef?: {
                                    apiVersion?: string;
                                    fieldPath: string;
                                };
                                /** Format: int32 */
                                mode?: number;
                                path: string;
                                resourceFieldRef?: {
                                    containerName?: string;
                                    divisor?: number | string;
                                    resource: string;
                                };
                            }[];
                        };
                        secret?: {
                            items?: {
                                key: string;
                                /** Format: int32 */
                                mode?: number;
                                path: string;
                            }[];
                            /** @default  */
                            name: string;
                            optional?: boolean;
                        };
                        serviceAccountToken?: {
                            audience?: string;
                            /** Format: int64 */
                            expirationSeconds?: number;
                            path: string;
                        };
                    }[];
                };
                quobyte?: {
                    group?: string;
                    readOnly?: boolean;
                    registry: string;
                    tenant?: string;
                    user?: string;
                    volume: string;
                };
                rbd?: {
                    fsType?: string;
                    image: string;
                    /** @default /etc/ceph/keyring */
                    keyring: string;
                    monitors: string[];
                    /** @default rbd */
                    pool: string;
                    readOnly?: boolean;
                    secretRef?: {
                        /** @default  */
                        name: string;
                    };
                    /** @default admin */
                    user: string;
                };
                scaleIO?: {
                    /** @default xfs */
                    fsType: string;
                    gateway: string;
                    protectionDomain?: string;
                    readOnly?: boolean;
                    secretRef: {
                        /** @default  */
                        name: string;
                    };
                    sslEnabled?: boolean;
                    /** @default ThinProvisioned */
                    storageMode: string;
                    storagePool?: string;
                    system: string;
                    volumeName?: string;
                };
                secret?: {
                    /** Format: int32 */
                    defaultMode?: number;
                    items?: {
                        key: string;
                        /** Format: int32 */
                        mode?: number;
                        path: string;
                    }[];
                    optional?: boolean;
                    secretName?: string;
                };
                storageos?: {
                    fsType?: string;
                    readOnly?: boolean;
                    secretRef?: {
                        /** @default  */
                        name: string;
                    };
                    volumeName?: string;
                    volumeNamespace?: string;
                };
                vsphereVolume?: {
                    fsType?: string;
                    storagePolicyID?: string;
                    storagePolicyName?: string;
                    volumePath: string;
                };
            }[];
        };
        status?: {
            version?: string;
        };
    };
}
