/** Minimal interface for a registered MCP tool slot (enable/disable). */
export interface ToolSlot {
    enable(): void;
    disable(): void;
    enabled: boolean;
}
/** Definition of a tool group loaded from config JSON. */
export interface ToolGroupDefinition {
    id: string;
    name: string;
    description: string;
    tools: string[];
    defaultEnabled: boolean;
    locked: boolean;
    triggerTools?: string[];
}
/** Persisted state of a single group (active/inactive). */
export interface ToolGroupState {
    groupId: string;
    enabled: boolean;
    lastChanged: string;
}
/** Runtime status of a group (for list_groups output). */
export interface GroupStatus {
    id: string;
    name: string;
    description: string;
    enabled: boolean;
    tools: string[];
    toolCount: number;
}
/** Result of an activate_group call. */
export interface GroupActivationResult {
    success: boolean;
    group: string;
    action: 'enable' | 'disable' | 'toggle';
    newState: boolean;
    allGroups: GroupStatus[];
    totalActiveTools: number;
    totalTools: number;
}
/** Suggestion from the context analyzer. */
export interface ContextSuggestion {
    suggestedGroup: string;
    reason: string;
    confidence: number;
}
/** Full config file shape for tool-groups.json. */
export interface ToolGroupsConfig {
    groups: ToolGroupDefinition[];
}
/** Persisted file shape for tool-group-state.json. */
export interface ToolGroupPersistedState {
    states: ToolGroupState[];
    updatedAt: string;
}
/** Maps a stack signal (lowercase keyword) to groups that should be enabled/disabled. */
export interface ToolGroupProfile {
    signal: string;
    enable: string[];
    disable: string[];
}
/** Full config file shape for tool-group-profiles.json. */
export interface ToolGroupProfilesConfig {
    profiles: ToolGroupProfile[];
}
/** Result of computeGroupActivations — sets of group IDs to enable/disable. */
export interface GroupActivationPlan {
    toEnable: string[];
    toDisable: string[];
}
/** Record of which groups were auto-activated or deactivated for a project. */
export interface GroupProfileSnapshot {
    autoActivated: string[];
    autoDeactivated: string[];
    detectedAt: string;
}
//# sourceMappingURL=tool-groups.d.ts.map