import { type ConfigurableWindow } from '../__internal__/configurable.js';
type SRGBHex = `#${string}`;
interface EyeDropperOpenOptions {
    /** @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal */
    signal?: AbortSignal;
}
export interface EyeDropper {
    new (): EyeDropper;
    open: (options?: EyeDropperOpenOptions) => Promise<{
        sRGBHex: SRGBHex;
    }>;
    [Symbol.toStringTag]: 'EyeDropper';
}
interface CreateEyeDropperOptions extends ConfigurableWindow {
    /**
     * Initial sRGBHex value of the eye dropper.
     * @default undefined
     */
    initialValue?: SRGBHex;
}
type CreateEyeDropperReturn = {
    /** Whether the {@link https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper_API | `Eye Dropper API`} is supported or not. */
    readonly isSupported: boolean;
    /** The current value selected in the eye dropper tool. */
    readonly current: SRGBHex | undefined;
    /** A callback to open the eye dropper tool. */
    open: (options?: EyeDropperOpenOptions) => Promise<{
        sRGBHex: SRGBHex;
    } | undefined>;
};
/**
 * Provides a mechanism for creating an eye dropper tool.
 * @see https://svelte-librarian.github.io/sv-use/docs/core/create-eye-dropper
 */
export declare function createEyeDropper(options?: CreateEyeDropperOptions): CreateEyeDropperReturn;
export {};
