/**
 * Jump List Service
 *
 * Manages navigation history with vim-style Ctrl+o/Ctrl+i navigation.
 *
 * @since v1.58.4
 */
import type { JumpListConfig, JumpListState, JumpLocation } from './jump-list-types.js';
/**
 * Jump List Service
 */
export declare class JumpListService {
    private config;
    private state;
    private lastPushTime;
    private onChange?;
    constructor(config?: Partial<JumpListConfig>, onChange?: (state: JumpListState) => void);
    /**
     * Push a new location onto the jump list
     */
    push(view: string, index: number, label: string, itemId?: string, context?: Record<string, unknown>): void;
    /**
     * Jump back (Ctrl+o)
     */
    jumpBack(): JumpLocation | null;
    /**
     * Jump forward (Ctrl+i)
     */
    jumpForward(): JumpLocation | null;
    /**
     * Jump to a specific index in the list
     */
    jumpTo(index: number): JumpLocation | null;
    /**
     * Get current location (or null if at current view)
     */
    getCurrentLocation(): JumpLocation | null;
    /**
     * Get all locations
     */
    getLocations(): JumpLocation[];
    /**
     * Get current position
     */
    getPosition(): number;
    /**
     * Check if can jump back
     */
    canJumpBack(): boolean;
    /**
     * Check if can jump forward
     */
    canJumpForward(): boolean;
    /**
     * Get recent locations (for quick switch)
     */
    getRecent(count?: number): JumpLocation[];
    /**
     * Clear jump list
     */
    clear(): void;
    /**
     * Get state
     */
    getState(): JumpListState;
    /**
     * Check tier access
     */
    private isTierAllowed;
    /**
     * Notify state change
     */
    private notify;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<JumpListConfig>): void;
}
/**
 * Create a jump list service instance
 */
export declare function createJumpListService(config?: Partial<JumpListConfig>, onChange?: (state: JumpListState) => void): JumpListService;
//# sourceMappingURL=jump-list-service.d.ts.map