import type { InputHTMLAttributes } from 'react';
import type { MudletColor } from '../mapIO';
export declare function RoomLink({ id, name, className }: {
id: number;
name?: string | null;
className?: string;
}): import("react").JSX.Element;
export declare function Field({ label, children, as: Tag }: {
label: string;
children: React.ReactNode;
as?: 'label' | 'div';
}): import("react").JSX.Element;
export declare function CheckboxField({ checked, onChange, description }: {
checked: boolean;
onChange: (checked: boolean) => void;
description: string;
}): import("react").JSX.Element;
export declare function ToolHint({ activeTool }: {
activeTool: string;
}): import("react").JSX.Element;
interface UserDataEditorProps {
data: Record | undefined;
onCommit: (key: string, from: string | null, to: string | null) => void;
}
export declare function UserDataEditor({ data, onCommit }: UserDataEditorProps): import("react").JSX.Element;
interface ColorSwatchProps {
/** CSS colour painted across the swatch button (matches the Room Color picker). */
color: string;
/** When true, no colour is set: show a "none" indicator instead of painting {@link color}. */
empty?: boolean;
disabled?: boolean;
title?: string;
/** Fired on pointer-down on the swatch — e.g. to start an undo/coalescing session. */
onActivate?: () => void;
/** Remount key for the hidden native input (resets an uncontrolled value). */
inputKey?: string;
/** Props forwarded to the hidden native (value/onChange/onBlur…). */
inputProps?: InputHTMLAttributes;
}
/**
* A color picker that looks exactly like the Room Color swatch (`.env-pick-btn`):
* a solid-filled button. The real `` is kept behind it (hidden
* but functional) and opened by forwarding the button's click, so every picker in
* the app renders identically regardless of how the browser draws a native swatch.
* All the original input handlers still fire on the hidden input; session-style
* pickers (which started on the input's `mousedown`) use {@link onActivate} instead.
*/
export declare function ColorSwatch({ color, empty, disabled, title, onActivate, inputKey, inputProps }: ColorSwatchProps): import("react").JSX.Element;
export declare function mudletColorToHex(c: MudletColor): string;
export declare function hexToMudletColor(hex: string): MudletColor;
export {};