/**
 * This file contains the definition of the `BasicLimetypeProps` interface,
 * which represents the basic properties of a Lime CRM limetype.
 * These are common and basic properties that make sense in many limetypes,
 * especially when an object corresponding to that limetype is
 * visualized or represented as an item in a custom view,
 * such as Activity feed, Kanban board, etc.
 */
import { Color, Icon, IconName, Image, Link, ListSeparator } from '@limetech/lime-elements';
import { Action } from '@limetech/lime-web-components';
export interface BasicLimetypeProps {
    /**
     * The date and time, associated with an item.
     */
    timestamp: string | Date;
    /**
     * The unique identifier of the item.
     * Can be used for anchor-linking and scrolling to items.
     */
    id: string | number;
    /**
     * Represents the creator of the item, indicating "who" or "what" has
     * created it. If `Author.name` is an object of the type `Link`,
     * a clickable link should be rendered.
     */
    author?: Author;
    /**
     * A brief heading that describes the object.
     * It is recommended to keep headings very concise.
     */
    heading?: string;
    /**
     * The body content of the item.
     */
    value?: string;
    /**
     * Icon of the item.
     */
    icon?: Icon;
    /**
     * Limeobjects related to the item.
     */
    relations?: Relation[];
    /**
     * List of actions. Typically displayed as a
     * vertical ellipsis action menu on the item.
     */
    unpromotedActions?: Array<Action | ListSeparator>;
    /**
     * Used to color code an item. Color coding can help identify similar items.
     */
    color?: Color;
}
/**
 * Represents an author with an ID, name, and optional picture.
 */
export interface Author {
    /**
     * The unique identifier for the author.
     */
    id: number | string;
    /**
     * The name of the author, which can be a link or a string.
     */
    name: Link | string;
    /**
     * The URL of the author's picture (optional).
     */
    picture?: string;
}
/**
 * Represents a relation with an ID, text, and optional icon, image and href.
 */
export interface Relation {
    /**
     * The unique identifier for the relation.
     */
    id: number | string;
    /**
     * The text description of the relation.
     */
    text: string;
    /**
     * The icon associated with the relation.
     */
    icon?: {
        name: IconName;
        color?: Color;
    };
    /**
     * The image associated with the relation. (Optional).
     */
    image?: Image;
    /**
     * The URL associated with the relation.
     */
    href?: string;
}
/**
 * A thumbnail visualizing the lime object
 */
export interface Thumbnail {
    /**
     * Image to show in the card.
     */
    image?: Image;
    /**
     * File name associated with the thumbnail.
     */
    filename: string;
    /**
     * Optional destination link.
     */
    href?: string;
}
//# sourceMappingURL=basic-limetype-props.d.ts.map