import type { GistMessage, DisplaySettings } from '../types';
export declare function showMessage(message: GistMessage): Promise<GistMessage | null>;
export declare function embedMessage(message: GistMessage, elementId: string): GistMessage | null;
export declare function hideMessage(message: GistMessage): Promise<void>;
export declare function resetMessage(message: GistMessage): Promise<void>;
export declare function removePersistentMessage(message: GistMessage): Promise<void>;
export declare function hideMessageVisually(message: GistMessage): Promise<void>;
/**
 * Cross-page step routing (INAPP-14575), shared by the button-tap
 * `stepChangeRequested` handler and the preview bar's step switcher. If the
 * target step belongs to a different page, it persists the step and navigates
 * (rehearsing the hop with the preview session in preview mode) and returns
 * true. Otherwise it returns false and the caller performs its normal in-place
 * step change.
 */
export declare function navigateForCrossPageStep(message: GistMessage, stepName: string, displaySettings: DisplaySettings | undefined, trackingName?: string): Promise<boolean>;
export declare function applyMessageStepChange(message: GistMessage, stepName: string | null | undefined, displaySettings: DisplaySettings | undefined): Promise<void>;
export declare function logBroadcastDismissedLocally(message: GistMessage): Promise<void>;
