/**
 * SessionLocator — resolves session storage paths from projectId.
 *
 * Every session operation uses this locator to determine the correct
 * filesystem path based on the session's owning projectId.
 * When projectId is missing, falls back to scanning all projects.
 */
export declare class SessionLocator {
    /** Get sessions root directory for a given projectId. */
    getSessionsRoot(projectId: string): string;
    /** Get the workspace dir for a project. */
    getProjectWorkspaceDir(projectId: string): string;
    /** Get the session directory path for a given projectId + sessionId. */
    getSessionDir(projectId: string, sessionId: string): string;
    /**
     * Resolve the workspaceDir for a session given its projectId.
     * If projectId is not provided, scans all projects for the session directory.
     */
    resolveWorkspaceDir(sessionId: string, projectId?: string): string;
    /** Get the active project's workspace dir (for new session creation when no projectId specified). */
    getActiveProjectWorkspaceDir(): string;
    /** Get the active project's ID. */
    getActiveProjectId(): string;
    /** Get the default project's ID for external personal channel sessions. */
    getDefaultProjectId(): string;
}
