import type { ToolAvailabilityOption } from '../contracts/v1/toolAccess.js';
import type { ProfileName } from '../config.js';
import type { ToolSettings } from '../core/preferences.js';
import { type SecretName } from '../core/secretStore.js';
export type ToolToggleId = string;
export type ToolToggleOption = ToolAvailabilityOption & {
    requiresSecret?: SecretName;
    locked?: boolean;
    restartRequired?: boolean;
};
export interface ToolPermissionSummary {
    allowedPluginIds: Set<string>;
    warnings: ToolLoadWarning[];
}
export interface ToolLoadWarning {
    id: ToolToggleId;
    label: string;
    reason: 'missing-secret';
    secretId?: SecretName;
}
export declare function getToolToggleOptions(): ToolToggleOption[];
export declare function buildEnabledToolSet(saved: ToolSettings | null, _profile?: ProfileName): Set<ToolToggleId>;
export declare function evaluateToolPermissions(selection: Set<ToolToggleId>): ToolPermissionSummary;
export declare function isPluginEnabled(pluginId: string, allowedPluginIds: Set<string>): boolean;
//# sourceMappingURL=toolRegistry.d.ts.map