import type { ContentTypeModels, TaxonomyModels } from "@kontent-ai/management-sdk";
import type { ModuleFileExtension } from "../../../core/core.models.js";
import type { DeliveryEntityNames } from "../delivery-entity-name.generator.js";
import type { DeliveryEntity, DeliveryEntityType } from "../delivery-entity.generator.js";
export type TypeMappingItem = {
    readonly codename: string;
    readonly typeName: string;
};
export declare function deliveryEntityUtils(): {
    getPluralName: typeof getPluralName;
    getTypeMapping: typeof getTypeMapping;
    getTypeMappingItem: typeof getTypeMappingItem;
    getCodeOfDeliveryEntity: typeof getCodeOfDeliveryEntity;
    getTaxonomyTermCodenames: typeof getTaxonomyTermCodenames;
    getCodenameTypeguardFunctionCode: typeof getCodenameTypeguardFunctionCode;
    getCoreContentTypeEntityImports: typeof getCoreContentTypeEntityImports;
    getCoreContentTypeCode: typeof getCoreContentTypeCode;
};
declare function getCoreContentTypeCode(types: readonly Readonly<ContentTypeModels.ContentType>[], entityNames: DeliveryEntityNames<"Type">): string;
declare function getCoreContentTypeEntityNames(types: Parameters<typeof getCoreContentTypeCode>[0], entityNames: Parameters<typeof getCoreContentTypeCode>[1]): readonly string[];
declare function getCoreContentTypeEntityImports(types: Parameters<typeof getCoreContentTypeEntityNames>[0], entityNames: Parameters<typeof getCoreContentTypeEntityNames>[1], moduleFileExtension: ModuleFileExtension): readonly string[];
declare function getTypeMapping(entityType: DeliveryEntityType, items: readonly TypeMappingItem[]): string;
declare function getTypeMappingItem({ codenamesTypeName, defaultTypeName, entityType, }: {
    readonly entityType: DeliveryEntityType;
    readonly codenamesTypeName: string;
    readonly defaultTypeName: string;
}): string;
declare function getCodenameTypeguardFunctionCode({ codenameTypeName, entity, typeGuardName, }: {
    readonly typeGuardName: string;
    readonly codenameTypeName: string;
    readonly entity: Readonly<DeliveryEntity>;
}): string;
declare function getTaxonomyTermCodenames(taxonomyTerms: readonly Readonly<TaxonomyModels.Taxonomy>[]): readonly string[];
declare function getPluralName(entityType: DeliveryEntityType): string;
declare function getCodeOfDeliveryEntity({ extendedType, codenames, names, }: {
    readonly names: {
        readonly codenamesTypeName: string;
        readonly valuesPropertyName: string;
        readonly typeGuardFunctionName: string;
    };
    readonly subtype?: "Term" | "Step";
    readonly extendedType: DeliveryEntityType | "Workflow step" | "Taxonomy term";
    readonly codenames: readonly string[];
}): string;
export {};
