/// <reference types="ts-toolbelt" />
import { KubernetesResource, OwnerReference } from '../types';
export declare const k8sSubGroup: import("Function/Curry").Curry<(subdomain: string, type: string) => string>;
export declare const k8sGroup: import("Function/Curry").Curry<(type: string) => string> & ((type: string) => string);
export declare const subdomainGroup: import("Function/Curry").Curry<(subdomain: string, type: string) => string>;
export declare const domainGroup: import("Function/Curry").Curry<(type: string) => string> & ((type: string) => string);
export declare const getSubdomainLabel: import("Function/Curry").Curry<(subdomain: string, type: string, resource: KubernetesResource) => string>;
export declare const getDomainLabel: import("Function/Curry").Curry<(type: string, resource: KubernetesResource) => string>;
export declare const getSubdomainAnnotation: import("Function/Curry").Curry<(subdomain: string, type: string, resource: KubernetesResource) => string>;
export declare const getDomainAnnotation: import("Function/Curry").Curry<(type: string, resource: KubernetesResource) => string>;
export declare const assignLabels: (value: Record<string, string>) => <R extends KubernetesResource>(resource: R) => R;
export declare const assignAnnotations: (value: Record<string, string>) => <R extends KubernetesResource>(resource: R) => R;
export declare function createOwnerReference(owner: KubernetesResource, { blockOwnerDeletion, controller, }?: Partial<{
    blockOwnerDeletion: boolean;
    controller: boolean;
}>): OwnerReference;
export declare const K8S_BINARY_UNITS: readonly ["Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi"];
export declare const K8S_DECIMAL_UNITS: readonly ["m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
export declare function parseQuantity(value: string): Quantity;
export declare function convertQuantityUnit(targetUnit: QuantityUnit): (source: Quantity) => Quantity;
export declare function convertQuantityUnit(targetUnit: QuantityUnit, source: Quantity): Quantity;
export interface Quantity {
    value: number;
    unit: QuantityUnit;
}
export declare type QuantityUnit = typeof K8S_BINARY_UNITS[number] | typeof K8S_DECIMAL_UNITS[number];
