import { Direction, IMedia } from '../types';
export interface PostViewerEvents {
    /**
     * Fired when a thumbnail is clicked and the viewer opens.
     * - No-op when a player is active (mobile or desktop) — players fire their own opened events.
     * - `stlOpened`  — STL is 'product_list', or 'modal' and the post has products.
     * - `postOpened` — STL is 'none'.
     */
    triggerOpenEvent: (post: IMedia) => void;
    /**
     * Fired when the viewer is closed.
     * - No-op when a player is active (mobile or desktop) — players fire their own closed events.
     * - `stlClosed`  — STL is 'product_list', or 'modal' and the post has products.
     * - `postClosed` — STL is 'none'.
     */
    triggerCloseEvent: (post: IMedia) => void;
    /**
     * Fired when the user navigates between posts via arrow buttons.
     * - `stlNavigation`  — STL is 'product_list', or 'modal' and the post has products.
     * - `postNavigation` — STL is 'none'.
     */
    triggerNavigationEvent: (post: IMedia, direction: Direction) => void;
    /**
     * Fired when the product list panel is toggled inside the mobile player.
     * - `stlOpened` — panel is being opened.
     * - `stlClosed` — panel is being closed.
     */
    triggerStlToggleEvent: (post: IMedia, opening: boolean) => void;
}
export declare const usePostViewerEvents: () => PostViewerEvents;
export default usePostViewerEvents;
