import * as core from "@terrascript/core";
export interface KubernetesNetworkConfigArgs extends core.SchemaArgs {
    ipFamily: string | core.StringOut;
    serviceIpv4Cidr: string | core.StringOut;
}
export declare class KubernetesNetworkConfig extends core.Schema<KubernetesNetworkConfigArgs> {
    ipFamily: string | core.StringOut;
    serviceIpv4Cidr: string | core.StringOut;
}
export interface OidcArgs extends core.SchemaArgs {
    issuer: string | core.StringOut;
}
export declare class Oidc extends core.Schema<OidcArgs> {
    issuer: string | core.StringOut;
}
export interface IdentityArgs extends core.SchemaArgs {
    oidc: core.Array<Oidc> | core.ArrayOut<Oidc>;
}
export declare class Identity extends core.Schema<IdentityArgs> {
    oidc: core.Array<Oidc> | core.ArrayOut<Oidc>;
}
export interface VpcConfigArgs extends core.SchemaArgs {
    clusterSecurityGroupId: string | core.StringOut;
    endpointPrivateAccess: boolean | core.BooleanOut;
    endpointPublicAccess: boolean | core.BooleanOut;
    publicAccessCidrs: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export declare class VpcConfig extends core.Schema<VpcConfigArgs> {
    clusterSecurityGroupId: string | core.StringOut;
    endpointPrivateAccess: boolean | core.BooleanOut;
    endpointPublicAccess: boolean | core.BooleanOut;
    publicAccessCidrs: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export interface CertificateAuthorityArgs extends core.SchemaArgs {
    data: string | core.StringOut;
}
export declare class CertificateAuthority extends core.Schema<CertificateAuthorityArgs> {
    data: string | core.StringOut;
}
export interface DsClusterArgs {
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsCluster extends core.Data<DsClusterArgs> {
    arn: string | core.StringOut;
    certificateAuthority: core.Array<CertificateAuthority> | core.ArrayOut<CertificateAuthority>;
    createdAt: string | core.StringOut;
    enabledClusterLogTypes: core.Array<string> | core.ArrayOut<core.StringOut>;
    endpoint: string | core.StringOut;
    id: string | core.StringOut;
    identity: core.Array<Identity> | core.ArrayOut<Identity>;
    kubernetesNetworkConfig: core.Array<KubernetesNetworkConfig> | core.ArrayOut<KubernetesNetworkConfig>;
    name: string | core.StringOut;
    platformVersion: string | core.StringOut;
    roleArn: string | core.StringOut;
    status: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    version: string | core.StringOut;
    vpcConfig: core.Array<VpcConfig> | core.ArrayOut<VpcConfig>;
    constructor(name: string, args?: DsClusterArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_cluster.d.ts.map