export interface UseBannerOptions {
    /** Initial visibility. Defaults to `false`. */
    defaultOpen?: boolean;
    /** Auto-hide the banner this many milliseconds after `show()`.
     * Set to `0` / undefined / `Infinity` to keep it open until `hide()`. */
    autoDismissAfter?: number;
    /** Fires whenever the banner transitions from open → closed (auto OR
     * user-initiated). Use for analytics or downstream cleanup. */
    onDismiss?: () => void;
}
export interface UseBannerReturn {
    /** Current open state. */
    open: boolean;
    /** Open the banner. Resets any pending auto-dismiss timer. */
    show: () => void;
    /** Close the banner and fire `onDismiss`. */
    hide: () => void;
    /** Toggle open ⇄ closed. */
    toggle: () => void;
    /** Spread directly onto `<Banner>` — wires `open` + `onDismiss`. */
    bannerProps: {
        open: boolean;
        onDismiss: () => void;
    };
}
export declare function useBanner(options?: UseBannerOptions): UseBannerReturn;
//# sourceMappingURL=useBanner.d.ts.map