export interface PathService {
    getActiveProjectRoot(): string;
    setActiveWorkdir(dir: string): void;
    /**
     * The directory the file/exec tools actually operate in (where relative tool
     * paths resolve and the shell session's cwd lives). This is the value last set
     * via setActiveWorkdir — it is the authoritative "active workdir" used by the
     * permission pipeline to classify cross-workspace operations. It can differ
     * from getActiveProjectRoot() (which feeds memory/sessions/project-agent-dir):
     * getActiveProjectRoot may be a captured snapshot, while this always tracks the
     * live tool workdir. Falls back to getActiveProjectRoot() if never set.
     */
    getActiveWorkdir(): string;
    resolveProjectDir(projectId?: string): string | undefined;
    resolveActiveOwnerUserId(): string;
    getUserAgentHome(): string;
    getOwnerProfileDir(ownerUserId?: string): string;
    getProfileMemoryDir(ownerUserId?: string): string;
    getUserSettingsPath(): string;
    getUserSkillsDir(): string;
    getUserPluginsDir(): string;
    getUserMcpConfigPath(): string;
    getUserPluginCacheDir(): string;
    getUserMarketplaceConfigPath(): string;
    getProjectAgentDir(projectRoot?: string): string;
    getProjectSettingsPath(projectRoot?: string): string;
    getProjectInstructionsPath(projectRoot?: string): string;
    getProjectPluginsDir(projectRoot?: string): string;
    getProjectRulesDir(projectRoot?: string): string;
    getProjectSessionsRoot(projectRoot?: string): string;
}
