import * as React from 'react';
import { ColorResult } from 'react-color';
import { Gemstone } from '@gpa-gemstone/application-typings';
interface IProps<T> extends Omit<Gemstone.TSX.Interfaces.IBaseFormProps<T>, "Setter"> {
    /**
      * Setter function to update the Record
      * @param record - Updated record of type T
      * @param color - Color result from the picker
      * @returns {void}
    */
    Setter: (record: T, color: ColorResult) => void;
    /**
      * Function to determine the validity of a field
      * @param field - Field of the record to check
      * @returns {boolean}
    */
    Valid?: (field: keyof T) => boolean;
    /**
      * Feedback message to show when input is invalid
      * @type {string}
      * @optional
    */
    Feedback?: string;
    /**
      * CSS styles to apply to the button
      * @type {React.CSSProperties}
      * @optional
    */
    Style?: React.CSSProperties;
    /**
      * List of colors to be used in the color picker
      * @type {string[]}
      * @optional
    */
    Colors?: string[];
    /**
      * Position of the triangle pointer in the color picker
      * @type {'hide' | 'top'}
      * @optional
    */
    Triangle?: 'hide' | 'top';
}
declare const ColorPicker: <T>(props: IProps<T>) => JSX.Element;
export default ColorPicker;
