import type { FeatureStore, FeatureViewer } from "./feature-store.js"; export declare const FEATURE_OPERATION_SPECS: readonly [{ readonly method: "listFeatureFlagUsers"; readonly name: "list_feature_flag_users"; readonly kind: "users"; readonly scope: "cluster"; readonly description: "Admin: find users and their IDs for feature preferences."; }, { readonly method: "listFeatureFlags"; readonly name: "list_feature_flags"; readonly kind: "read"; readonly scope: "cluster"; readonly description: "List code-defined feature flags, defaults and current revisions."; }, { readonly method: "getClusterFeatureFlags"; readonly name: "get_cluster_feature_flags"; readonly kind: "read"; readonly scope: "cluster"; readonly description: "Read cluster feature settings and allowUserOverride policy."; }, { readonly method: "setClusterFeatureFlag"; readonly name: "set_cluster_feature_flag"; readonly kind: "set"; readonly scope: "cluster"; readonly description: "Admin: set cluster enabled and allowUserOverride atomically. Read the current revision first."; }, { readonly method: "resetClusterFeatureFlag"; readonly name: "reset_cluster_feature_flag"; readonly kind: "unset"; readonly scope: "cluster"; readonly description: "Admin: reset cluster settings to published code defaults."; }, { readonly method: "getMyFeatureFlags"; readonly name: "get_my_feature_flags"; readonly kind: "read"; readonly scope: "user"; readonly description: "Read your feature preferences and effective values."; }, { readonly method: "setMyFeatureFlag"; readonly name: "set_my_feature_flag"; readonly kind: "set"; readonly scope: "user"; readonly description: "Set your feature preference. Locked cluster policy still wins."; }, { readonly method: "unsetMyFeatureFlag"; readonly name: "unset_my_feature_flag"; readonly kind: "unset"; readonly scope: "user"; readonly description: "Remove your feature preference to inherit cluster policy."; }, { readonly method: "getUserFeatureFlags"; readonly name: "get_user_feature_flags"; readonly kind: "read"; readonly scope: "user"; readonly targetUser: true; readonly description: "Admin: read a specific user's feature preferences."; }, { readonly method: "setUserFeatureFlag"; readonly name: "set_user_feature_flag"; readonly kind: "set"; readonly scope: "user"; readonly targetUser: true; readonly description: "Admin: set a specific user's feature preference."; }, { readonly method: "unsetUserFeatureFlag"; readonly name: "unset_user_feature_flag"; readonly kind: "unset"; readonly scope: "user"; readonly targetUser: true; readonly description: "Admin: remove a specific user's preference to inherit cluster policy."; }, { readonly method: "listFeatureFlagChanges"; readonly name: "list_feature_flag_changes"; readonly kind: "audit"; readonly scope: "cluster"; readonly description: "Admin: read feature-setting audit history."; }]; export type FeatureOperationSpec = typeof FEATURE_OPERATION_SPECS[number]; export declare function featureToolParameters(spec: FeatureOperationSpec): { type: "object"; properties: Record; required: string[]; additionalProperties: boolean; }; export declare function runFeatureStoreOperation(store: FeatureStore, spec: FeatureOperationSpec, viewer: FeatureViewer, args: Record): Promise | Promise | Promise; export declare function createFeatureTools(store: FeatureStore, resolveViewer: () => Promise): import("@github/copilot-sdk").Tool>[]; //# sourceMappingURL=feature-tools.d.ts.map