import { type InitSummary } from './init';
export type WorkspaceSource = 'created' | 'found' | 'inspected' | 'cached';
export interface WorkspaceEntry {
    path: string;
    name: string;
    source: WorkspaceSource;
    exists?: boolean;
    lastSeenAt?: string;
    lastScannedAt?: string;
    appsCount: number;
    assetsCount: number;
    packsCount: number;
}
export interface WorkspaceCache {
    version: number;
    defaultWorkspacePath: string;
    workspaces: WorkspaceEntry[];
}
export interface WorkspaceCacheView extends WorkspaceCache {
    currentWorkspacePath?: string;
}
export interface WorkspaceCommandOptions {
    json?: boolean;
    homeDir?: string;
    platform?: NodeJS.Platform | string;
    cwd?: string;
    initProject?: (targetPath: string, options?: {
        quiet?: boolean;
    }) => Promise<InitSummary | null>;
}
export declare function getDefaultWorkspacePath(homeDir?: string): string;
export declare function getWorkspaceCachePath(): string;
export declare function loadWorkspaceCache(): WorkspaceCache;
export declare function saveWorkspaceCache(cache: WorkspaceCache): WorkspaceCache;
export declare function findCurrentWorkspaceRoot(startPath?: string): string | null;
export declare function loadWorkspaceCacheWithCurrentContext(options?: WorkspaceCommandOptions): WorkspaceCacheView;
export declare function listWorkspaces(options?: WorkspaceCommandOptions): Promise<WorkspaceCacheView | null>;
export declare function initWorkspace(targetPath?: string, options?: WorkspaceCommandOptions): Promise<WorkspaceEntry | null>;
export declare function inspectWorkspace(targetPath?: string, options?: WorkspaceCommandOptions): Promise<WorkspaceEntry | null>;
export declare function refreshWorkspaces(rootArgs?: string[], options?: WorkspaceCommandOptions): Promise<{
    scannedRoots: string[];
    skippedRoots: string[];
    workspaces: WorkspaceEntry[];
} | null>;
export declare function isMacProtectedWorkspaceRoot(rootPath: string, homeDir?: string, platform?: NodeJS.Platform | string): boolean;
export declare function printNoCachedWorkspacesGuidance(defaultWorkspacePath: string, platform?: NodeJS.Platform | string): void;
export declare function getWorkspaceRefreshExample(platform?: NodeJS.Platform | string): string;
