import type { GitLabClient } from "../client.js"; /** * Resource URI schemes for GitLab MCP Server * * gitlab://user/me - Current user * gitlab://project/{project_id} - Project details * gitlab://project/{project_id}/labels - Project labels * gitlab://project/{project_id}/branches - Project branches * gitlab://mr/{project_id}/{iid} - Merge request * gitlab://mr/{project_id}/{iid}/diffs - MR diffs * gitlab://mr/{project_id}/{iid}/discussions - MR discussions * gitlab://mr/{project_id}/{iid}/approvals - MR approvals * gitlab://issue/{project_id}/{iid} - Issue * gitlab://pipeline/{project_id}/{id} - Pipeline * gitlab://pipeline/{project_id}/{id}/jobs - Pipeline jobs * gitlab://job/{project_id}/{id}/trace - Job trace/logs */ export interface ResourceDefinition { uri: string; name: string; description?: string; mimeType: string; } export interface ResourceTemplate { uriTemplate: string; name: string; description?: string; mimeType: string; } export declare class GitLabResources { private client; constructor(client: GitLabClient); /** * Get resource templates (parameterized resources) */ getTemplates(): ResourceTemplate[]; /** * Get static resources (always available) */ getStaticResources(): ResourceDefinition[]; /** * Parse a GitLab resource URI and extract components * * Handles URL-encoded project IDs (e.g., group%2Fsubgroup%2Fproject) * * URI Format: gitlab://{resource_type}/{project_id}[/{sub_id}[/{action}]] * * Examples: * - gitlab://user/me * - gitlab://project/group%2Fproject * - gitlab://mr/group%2Fproject/123/diffs */ parseUri(uri: string): { type: string; params: Record; } | null; /** * Read a resource by URI */ read(uri: string): Promise<{ uri: string; mimeType: string; text: string; }>; } //# sourceMappingURL=index.d.ts.map