import { GitLabTier } from './GitLabVersionDetector'; interface ToolRequirement { minVersion: string; requiredTier: 'free' | 'premium' | 'ultimate'; notes?: string; } interface ActionRequirement { tier: 'free' | 'premium' | 'ultimate'; minVersion: string; notes?: string; } export declare class ToolAvailability { private static readonly TIER_ORDER; private static actionRequirements; private static parameterRequirements; static getRestrictedParameters(toolName: string, cachedInstanceInfo?: { tier: GitLabTier; version: string; }, instanceUrl?: string): string[]; static getActionRequirement(toolName: string, action?: string): ActionRequirement | undefined; static getHighestTier(toolName: string): 'free' | 'premium' | 'ultimate'; static getTierRestrictedActions(toolName: string, tier: 'premium' | 'ultimate'): string[]; static isToolAvailable(toolName: string, action?: string, instanceUrl?: string): boolean; static isToolAvailableForInstance(toolName: string, instanceInfo: { tier: GitLabTier; version: string; }, action?: string): boolean; static getAvailableTools(instanceUrl?: string): string[]; static getToolRequirement(toolName: string, action?: string): ToolRequirement | undefined; static getUnavailableReason(toolName: string, action?: string, instanceUrl?: string): string | null; private static isTierSufficient; static filterToolsByAvailability(tools: string[], instanceUrl?: string): string[]; static getToolsByTier(tier: 'free' | 'premium' | 'ultimate'): string[]; static getToolsByMinVersion(minVersion: string): string[]; } export {};