import { PromptInputProps } from '../interfaces';
/** Whether the current React version supports token mode (React 18+). */
export declare const supportsTokenMode: boolean;
/** A portal target — the DOM element where a reference token's React content is rendered via createPortal. */
export interface PortalContainer {
    /** Unique ID matching the token */
    id: string;
    /** The DOM element to render the portal into */
    element: HTMLElement;
    /** Label for the token */
    label: string;
    /** Value for the token */
    value: string;
    /** Menu ID the token was selected from */
    menuId?: string;
}
/**
 * Renders tokens into a contentEditable element using direct DOM manipulation.
 * Reference tokens are NOT rendered here — instead, their DOM containers are registered
 * in portalContainers for the parent component to render via ReactDOM.createPortal.
 */
export declare function renderTokensToDOM(tokens: readonly PromptInputProps.InputToken[], targetElement: HTMLElement, portalContainers: Map<string, PortalContainer>, existingTriggers?: Map<string, HTMLElement>, cancelledTriggerIds?: Set<string>): {
    newTriggerElement: HTMLElement | null;
    lastReferenceWithCaretSpots: HTMLElement | null;
    triggerElements: Map<string, HTMLElement>;
};
//# sourceMappingURL=token-renderer.d.ts.map