export interface WorkspaceProject { path: string; role: "provider" | "consumer" | "both"; interfaces?: Array<{ type: "graphql" | "openapi" | "protobuf" | "npm" | "trpc"; schema?: string; spec?: string; }>; } export interface WorkspaceConfig { workspace: string; projects: WorkspaceProject[]; } /** * Load a workspace config from ~/.sverklo/workspaces/.yaml. * Returns null if the file doesn't exist or can't be parsed. */ export declare function loadWorkspaceConfig(name: string): WorkspaceConfig | null; /** * Scan ~/.sverklo/workspaces/ for .yaml files and return their names. */ export declare function listWorkspaces(): string[]; /** * Find which workspace contains this project path (exact match on * any project's path). Returns the first match or null. */ export declare function findWorkspaceForProject(projectPath: string): WorkspaceConfig | null; /** * Get the path for the cross-repo SQLite database for a workspace. * Creates the parent directory if it doesn't exist. */ export declare function getWorkspaceDbPath(name: string): string;