/** @packageDocumentation
 * @module Content
 */
import { RendererDescription } from "./Renderer.js";
/**
 * A data structure that describes a [[Field]] category.
 * @public
 */
export interface CategoryDescription {
    /** Unique name */
    name: string;
    /** Display label */
    label: string;
    /** Extensive description */
    description: string;
    /** Priority. Categories with higher priority should appear higher in the UI */
    priority: number;
    /** Should this category be auto-expanded when it's displayed in the UI */
    expand: boolean;
    /** Parent category description */
    parent?: CategoryDescription;
    /** Custom renderer description */
    renderer?: RendererDescription;
}
/** @public */
export declare namespace CategoryDescription {
    /** Serialize given category to JSON */
    function toJSON(category: CategoryDescription): CategoryDescriptionJSON;
    /**
     * Deserialize [[CategoryDescription]] from JSON. The `parent` is not assigned - use [[CategoryDescription.listFromJSON]]
     * to deserialize the whole categories list and set parents.
     */
    function fromJSON(json: CategoryDescriptionJSON): CategoryDescription;
    /** Deserialize a list of [[CategoryDescription]] from JSON. */
    function listFromJSON(json: CategoryDescriptionJSON[]): CategoryDescription[];
}
/**
 * Serialized [[CategoryDescription]] JSON representation.
 * @public
 */
export interface CategoryDescriptionJSON {
    name: string;
    label: string;
    description: string;
    priority: number;
    expand: boolean;
    parent?: string;
    renderer?: RendererDescription;
}
//# sourceMappingURL=Category.d.ts.map