/**
 * @packageDocumentation
 * @module api
 */
import { DeepReadonly, Keys, KubernetesResource, ValueOf } from '../core/public-api';
import { K8sResourceDefinition, K8sResourceDefinitions, WatchAPIResponse } 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 K8sResourceDefinition>(definition: T) => Required<T>;
export declare const createResourceDefinitions: <T extends K8sResourceDefinitions, R extends DeepReadonly<{
    RESOURCE_DEFINITIONS: T;
    RESOURCE_TYPES: Keys<T>;
    getYamlApiVersion: (definition: keyof T | ValueOf<T>) => string;
}>>(RESOURCE_DEFINITIONS: T) => R;
export declare const getMetadataHeaders: (isList?: boolean, customAccept?: string) => {
    Accept: string;
};
export declare function reduceWatchEvents<T extends KubernetesResource>(events: Array<WatchAPIResponse<T>>): Array<WatchAPIResponse<T>>;
export declare function isResourceEvent<T extends KubernetesResource>(event: WatchAPIResponse<T>): boolean;
