import { type LozengeProps as AtlaskitLozengeProps } from '@atlaskit/lozenge';
import type { LinkLozengeInvokeActions } from '../../../../../../extractors/common/lozenge/types';
import type { ElementProps } from '../../../elements';
export type LozengeAppearance = 'default' | 'inprogress' | 'moved' | 'new' | 'removed' | 'success';
export type BaseLozengeElementProps = ElementProps & {
    /**
     * Action that can be performed on the element
     */
    action?: LinkLozengeInvokeActions;
    /**
     * Determines the appearance of the Atlaskit lozenge.
     */
    appearance?: LozengeAppearance;
    /**
     * Determines if the element is a due on element.
     */
    isDateTag?: boolean;
    /**
     * Callback fired after lozenge value has changed
     */
    onAfterChanged?: () => void;
    /**
     * The text to display within the lozenge.
     */
    text?: string | React.ReactNode;
    /**
     * Numeric metric displayed as a trailing badge inside the lozenge.
     */
    trailingMetric?: string;
} & Pick<AtlaskitLozengeProps, 'maxWidth' | 'style'>;
/**
 * A base element that displays a Lozenge.
 * @internal
 * @param {BaseLozengeElementProps} BaseLozengeElementProps - The props necessary for the Lozenge element.
 * @see State
 */
declare const BaseLozengeElement: ({ action, appearance, className, maxWidth, name, onAfterChanged, style, text, testId, isDateTag, trailingMetric, }: BaseLozengeElementProps) => JSX.Element | null;
export default BaseLozengeElement;
export declare const toDateLozengeProps: (dateString?: string) => Partial<BaseLozengeElementProps> | undefined;
