/// <reference types="react" />
import type { Color, Gradient, PaletteEditProps, PaletteElement } from './types';
export declare const DEFAULT_COLOR = "#000";
/**
 * Returns a temporary name for a palette item in the format "Color + id".
 * To ensure there are no duplicate ids, this function checks all slugs for temporary names.
 * It expects slugs to be in the format: slugPrefix + color- + number.
 * It then sets the id component of the new name based on the incremented id of the highest existing slug id.
 *
 * @param elements   An array of color palette items.
 * @param slugPrefix The slug prefix used to match the element slug.
 *
 * @return A unique name for a palette item.
 */
export declare function getNameForPosition(elements: PaletteElement[], slugPrefix: string): string;
/**
 * Checks if a color or gradient is a temporary element by testing against default values.
 */
export declare function isTemporaryElement(slugPrefix: string, { slug, color, gradient }: Color | Gradient): Boolean;
/**
 * Allows editing a palette of colors or gradients.
 *
 * ```jsx
 * import { PaletteEdit } from '@wordpress/components';
 * const MyPaletteEdit = () => {
 *   const [ controlledColors, setControlledColors ] = useState( colors );
 *
 *   return (
 *     <PaletteEdit
 *       colors={ controlledColors }
 *       onChange={ ( newColors?: Color[] ) => {
 *         setControlledColors( newColors );
 *       } }
 *       paletteLabel="Here is a label"
 *     />
 *   );
 * };
 * ```
 */
export declare function PaletteEdit({ gradients, colors, onChange, paletteLabel, paletteLabelHeadingLevel, emptyMessage, canOnlyChangeValues, canReset, slugPrefix, popoverProps, }: PaletteEditProps): JSX.Element;
export default PaletteEdit;
//# sourceMappingURL=index.d.ts.map