/** A recently used or favorited workspace path for a specific runner. */
export interface RecentWorkspace {
    /** Absolute path on the runner's filesystem. */
    readonly path: string;
    /** Whether the user pinned this path as a favorite. */
    readonly pinned: boolean;
    /** Epoch ms when this path was last selected. */
    readonly lastUsed: number;
}
/** Return value of {@link useRecentWorkspaces}. */
export interface UseRecentWorkspacesReturn {
    /** Recent paths sorted: pinned first, then by recency. */
    readonly entries: readonly RecentWorkspace[];
    /** Record a path selection (adds or bumps it in the list). */
    readonly recordSelection: (path: string) => void;
    /** Toggle the pinned state of a path. */
    readonly togglePin: (path: string) => void;
    /** Remove a path from the recent list. */
    readonly remove: (path: string) => void;
}
/**
 * Manages recently used workspace paths for a specific runner,
 * persisted in `localStorage`.
 *
 * Entries are keyed by `runner_id` so each runner maintains its own
 * history. Pinned paths appear first, then by most-recently-used.
 *
 * @param runnerId - Runner to scope the history to. When `null`, returns empty.
 */
export declare function useRecentWorkspaces(runnerId: string | null): UseRecentWorkspacesReturn;
//# sourceMappingURL=useRecentWorkspaces.d.ts.map