export interface KubernetesMetadata {
    readonly name: string;
    readonly namespace?: string;
    readonly labels?: Readonly<Record<string, string>>;
    readonly annotations?: Readonly<Record<string, string>>;
    readonly uid?: string;
    readonly resourceVersion?: string;
}
export interface KubernetesObject {
    readonly apiVersion: string;
    readonly kind: string;
    readonly metadata: KubernetesMetadata;
    readonly automountServiceAccountToken?: boolean;
    readonly spec?: Readonly<Record<string, unknown>>;
    readonly status?: Readonly<Record<string, unknown>>;
}
export interface KubernetesTransport {
    apply(resource: KubernetesObject): Promise<KubernetesObject>;
    get(apiVersion: string, kind: string, namespace: string | undefined, name: string): Promise<KubernetesObject | undefined>;
    delete(apiVersion: string, kind: string, namespace: string | undefined, name: string): Promise<void>;
}
export interface WorkspaceResourceSet {
    readonly serviceAccount: KubernetesObject;
    readonly networkPolicy: KubernetesObject;
    readonly persistentVolumeClaim?: KubernetesObject;
    readonly service?: KubernetesObject;
    readonly pod: KubernetesObject;
}
//# sourceMappingURL=kubernetes.d.ts.map