import type { RouteName } from './routes';
/**
 * Bottom Sheet Manager - Pure state management module
 *
 * Uses Zustand (vanilla) for robust state management without React dependencies.
 * This ensures the manager can be imported safely anywhere.
 */
export interface NavigationHistoryEntry {
    screen: RouteName;
    props: Record<string, unknown>;
    step?: number;
}
export interface BottomSheetRouterState {
    currentScreen: RouteName | null;
    screenProps: Record<string, unknown>;
    currentStep?: number;
    navigationHistory: NavigationHistoryEntry[];
    isOpen: boolean;
}
export declare const bottomSheetStore: import("zustand/vanilla").StoreApi<BottomSheetRouterState>;
type BottomSheetRefObject = {
    current: {
        present: () => void;
        dismiss: () => void;
    } | null;
} | null;
/**
 * Set the bottom sheet ref so showBottomSheet can control it
 */
export declare const setBottomSheetRef: (ref: BottomSheetRefObject) => void;
/**
 * Update the bottom sheet state
 * (Kept for backward compatibility, but prefer using store directly if possible)
 */
export declare const updateBottomSheetState: (updates: Partial<BottomSheetRouterState>) => void;
/**
 * Subscribe to bottom sheet state changes
 * (Wrapper around store.subscribe for backward compatibility)
 */
export declare const subscribeToBottomSheetState: (listener: (state: BottomSheetRouterState) => void) => () => void;
/**
 * Get the current bottom sheet state
 * (Wrapper around store.getState for backward compatibility)
 */
export declare const getBottomSheetState: () => BottomSheetRouterState;
/**
 * Show the bottom sheet with a specific screen (internal - no route validation)
 */
export declare const managerShowBottomSheet: (screen: RouteName, props?: Record<string, unknown>, options?: {
    addToHistory?: boolean;
    step?: number;
}) => void;
/**
 * Close the bottom sheet (internal)
 */
export declare const managerCloseBottomSheet: () => void;
/**
 * Go back in navigation history
 * Returns true if back navigation was successful, false if history is empty
 */
export declare const managerGoBack: () => boolean;
/**
 * Public API for showing bottom sheets
 */
export declare const showBottomSheet: (screenOrConfig: RouteName | {
    screen: RouteName;
    props?: Record<string, unknown>;
}) => void;
/**
 * Public API for closing bottom sheets
 */
export declare const closeBottomSheet: () => void;
export {};
//# sourceMappingURL=bottomSheetManager.d.ts.map