import type * as CoreRemote from '../core/Remote.js';
/** Monitors element visibility using IntersectionObserver v2. */
export declare function useEnsureVisibility(remote: CoreRemote.Remote, options?: useEnsureVisibility.Options): useEnsureVisibility.ReturnType;
/** React hook to select state from a remote context's store. */
export declare function useState(remote: CoreRemote.Remote): CoreRemote.State;
export declare function useState<selected>(remote: CoreRemote.Remote, selector: (state: CoreRemote.State) => selected): selected;
/** Applies theme overrides from URL search params and live messenger updates. */
export declare function useTheme(remote?: CoreRemote.Remote | undefined): void;
export declare namespace useEnsureVisibility {
    type Options = {
        /** Whether visibility monitoring is enabled. @default true */
        enabled?: boolean | undefined;
    };
    type ReturnType = {
        /** Requests the host switch to a popup dialog. */
        invokePopup: () => void;
        /** Ref to attach to the element being monitored. */
        ref: React.RefObject<HTMLDivElement | null>;
        /** Whether the element is currently visible. */
        visible: boolean;
    };
}
//# sourceMappingURL=Remote.d.ts.map