/**
 * @packageDocumentation
 * @module api
 */
import { DeepReadonly, Keys, ValueOf } from '../types/public-api';
import { K8sResourceDefinition } from './types';
export declare const EMPTY_API_PREFIX_PARTS: {
    readonly apiGroup: "";
    readonly apiVersion: "";
};
export declare const getApiPrefixParts: (apiPrefix: string) => Omit<Required<K8sResourceDefinition>, 'type'>;
export declare const normalizeApiGroup: (apiGroup?: string) => string;
export declare const normalizeDefinition: <T extends Readonly<{
    type: string;
    apiGroup?: string;
    apiVersion?: string;
}>>(definition: T) => Required<T>;
export declare const createResourceDefinitions: <T extends Readonly<Record<string, Readonly<{
    type: string;
    apiGroup?: string;
    apiVersion?: string;
}>>>, R extends {
    readonly RESOURCE_DEFINITIONS: DeepReadonly<T>;
    readonly RESOURCE_TYPES: DeepReadonly<Keys<T>>;
    readonly getYamlApiVersion: (definition: ValueOf<T> | keyof T) => string;
}>(RESOURCE_DEFINITIONS: T) => R;
export declare const getMetadataHeaders: (isList?: boolean) => {
    Accept: string;
};
