export interface UseClipboardOptions {
    /** Duration in ms to keep `copied` true before resetting. Default: 2000 */
    resetDelay?: number;
}
export interface UseClipboardReturn {
    /** Copy text to the clipboard. Returns true on success. */
    copy: (text: string) => Promise<boolean>;
    /** Read text from the clipboard. Returns empty string if denied or unavailable. */
    paste: () => Promise<string>;
    /** Whether the last copy operation succeeded (resets after resetDelay) */
    copied: boolean;
    /** Error from the last failed operation, or null */
    error: Error | null;
    /** Manually reset copied and error state */
    reset: () => void;
}
/**
 * A Preact hook for reading and writing the clipboard. Uses the async
 * Clipboard API when available (requires secure context and user gesture).
 *
 * @param options - Optional configuration (e.g., resetDelay for copied state)
 * @returns Object with copy, paste, copied, error, and reset
 *
 * @example
 * ```tsx
 * function CopyButton() {
 *   const { copy, copied, error } = useClipboard();
 *   return (
 *     <button onClick={() => copy('Hello!')}>
 *       {copied ? 'Copied!' : 'Copy'}
 *     </button>
 *   );
 * }
 * ```
 */
export declare function useClipboard(options?: UseClipboardOptions): UseClipboardReturn;
