import { URI } from "../../../../base/common/uri.js"; import { PromptsStorage } from "./promptSyntax/service/promptsService.js"; /** * Extended storage type for AI Customization that includes built-in prompts * shipped with the application, alongside the core `PromptsStorage` values. */ export type AICustomizationPromptsStorage = PromptsStorage | "builtin"; /** * Storage type discriminator for built-in customizations shipped with the application. */ export declare const BUILTIN_STORAGE: AICustomizationPromptsStorage; /** * Possible section IDs for the AI Customization Management Editor sidebar. */ export declare const AICustomizationManagementSection: { readonly Agents: "agents"; readonly Skills: "skills"; readonly Instructions: "instructions"; readonly Prompts: "prompts"; readonly Hooks: "hooks"; readonly McpServers: "mcpServers"; readonly Plugins: "plugins"; readonly Models: "models"; }; export type AICustomizationManagementSection = typeof AICustomizationManagementSection[keyof typeof AICustomizationManagementSection]; /** * Per-type filter policy controlling which storage sources and user file * roots are visible for a given customization type. */ export interface IStorageSourceFilter { /** * Which storage groups to display (e.g. workspace, user, extension, builtin). */ readonly sources: readonly string[]; /** * If set, only user files under these roots are shown (allowlist). * If `undefined`, all user file roots are included. */ readonly includedUserFileRoots?: readonly URI[]; } /** * Applies a storage source filter to an array of items that have uri and storage. * Removes items whose storage is not in the filter's source list, * and for user-storage items, removes those not under an allowed root. */ export declare function applyStorageSourceFilter(items: readonly T[], filter: IStorageSourceFilter): readonly T[];