import type { DomainAssociation } from '@api-client/core/modeling/DomainAssociation.js';
import type { DomainPropertyInputConfig } from '../types.js';
import type { IconType } from '../../md/icons/Icons.js';
import type { DomainProperty } from '@api-client/core/modeling/DomainProperty.js';
import type { DomainPropertyFormat } from '@api-client/core/modeling/DataFormat.js';
/**
 * Returns the icon to use for the given field (DomainProperty or DomainAssociation).
 * This is used to render the icon in the UI.
 *
 * @param p The field to get the icon for.
 * @returns The icon to use.
 */
export declare function getFieldIcon(p: DomainAssociation | DomainProperty): IconType;
/**
 * Returns the label to use for the given field (DomainProperty or DomainAssociation).
 * @param p The field to get the label for.
 * @returns The label to use in the data type label.
 */
export declare function getFieldDataTypeLabel(p: DomainAssociation | DomainProperty): string;
/**
 * Generates an icon name for the DomainProperty that illustrate its primary purpose.
 */
export declare function getPropertyIcon(p: DomainProperty): IconType;
/**
 * @returns The type label to use when rendering the DomainProperty in the UI
 */
export declare function getPropertyTypeLabel(p: DomainProperty): string;
/**
 * Gathers information about the HTML input's requirements for the given DomainProperty.
 *
 * @param model The data property model to gather HTML input's configuration for.
 * @returns Input attributes to set.
 */
export declare function getPropertyInputOptions(model: DomainProperty): DomainPropertyInputConfig;
export declare function getFormatInfo(format: DomainPropertyFormat): {
    label: string;
    help: string;
};
export declare function getDomainLabel(kind: string, options?: {
    capitalize?: boolean;
}): string;
/**
 * Gets the icon type for a given item kind.
 * @param kind - The kind of the item.
 * @returns The icon type.
 */
export declare function getDomainIconType(kind: string): IconType;
/**
 * Maps an API Action kind to a user-friendly label.
 * @param kind The API Action kind.
 * @returns The label to render with the UI that correspond to the action.
 */
export declare function apiActionKindToLabel(kind: string): string;
/**
 * Maps an API Action kind to an icon name.
 * @param kind The API Action kind.
 * @returns The icon name to use for the action kind.
 */
export declare function apiActionKindToIcon(kind: string): string;
//# sourceMappingURL=ui_mapping.d.ts.map