import type { Meta } from '@storybook/react-vite'; import { type ButtonHTMLAttributes, type ComponentType, type ReactNode } from 'react'; import styles from './HookDocs.module.scss'; declare const haikuInspirationUrl = "https://github.com/DavidHDev/haiku"; declare const haikuInspirationNote = "Inspiration: https://github.com/DavidHDev/haiku"; type HookCategoryTitle = 'Browser APIs' | 'DOM and Input' | 'Timing and Lifecycle' | 'Storage and State'; type HookPageMetadata = { category: HookCategoryTitle; cleanup: string[]; exportPath: string; purpose: string; relatedExports?: string[]; returnShape: string[]; signature: string; title: string; usage: string; whenToUse: string[]; browserSupport: string[]; }; type HookDocsLayoutProps = { demo: ReactNode; hookPage: HookPageMetadata; }; type HookDemo = ComponentType; type StorybookParameters = NonNullable; declare function createHookStoryParameters(hookPage: HookPageMetadata): StorybookParameters; declare function HookDocsLayout({ demo, hookPage }: HookDocsLayoutProps): import("react/jsx-runtime").JSX.Element; declare function HookUsage({ usage }: { usage: string; }): import("react/jsx-runtime").JSX.Element; declare function HookSignature({ signature }: { signature: string; }): import("react/jsx-runtime").JSX.Element; declare function HookReturnShape({ returnShape }: { returnShape: string[]; }): import("react/jsx-runtime").JSX.Element; declare function HookNotes({ notes, title }: { notes: string[]; title: string; }): import("react/jsx-runtime").JSX.Element; declare function RelatedExports({ exports }: { exports: string[]; }): import("react/jsx-runtime").JSX.Element; declare function DemoValue({ label, value }: { label: string; value: ReactNode; }): import("react/jsx-runtime").JSX.Element; declare function DemoButton({ children, type, ...buttonProps }: ButtonHTMLAttributes): import("react/jsx-runtime").JSX.Element; declare function DemoActions({ children }: { children: ReactNode; }): import("react/jsx-runtime").JSX.Element; declare function DemoStack({ children }: { children: ReactNode; }): import("react/jsx-runtime").JSX.Element; declare function ToggleMount({ activateLabel, children, }: { activateLabel: string; children: ReactNode; }): import("react/jsx-runtime").JSX.Element; declare function useUnmount(callback: VoidFunction): void; declare function useButtonTarget(): { ref: (element: TElement | null) => void; target: TElement | null; }; export { DemoActions, DemoButton, DemoStack, DemoValue, HookDocsLayout, HookNotes, HookReturnShape, HookSignature, HookUsage, RelatedExports, ToggleMount, createHookStoryParameters, haikuInspirationNote, haikuInspirationUrl, styles, useButtonTarget, useUnmount, }; export type { HookCategoryTitle, HookDemo, HookPageMetadata };