import type { AgentExtension } from "@cline/shared"; import type { SkillsExecutorWithMetadata } from "../tools"; import { type AvailableRuntimeCommand } from "./runtime-commands"; import { type CreateUserInstructionConfigWatcherOptions, type UserInstructionConfig, type UserInstructionConfigType } from "./user-instruction-config-loader"; import { type CreateUserInstructionPluginOptions } from "./user-instruction-plugin"; export interface UserInstructionConfigRecord { type: UserInstructionConfigType; id: string; filePath: string; item: TConfig; } export interface CreateUserInstructionConfigServiceOptions extends CreateUserInstructionConfigWatcherOptions { } export interface UserInstructionConfigService { start(): Promise; stop(): void; refreshType(type: UserInstructionConfigType): Promise; listRecords(type: UserInstructionConfigType): UserInstructionConfigRecord[]; listRuntimeCommands(): AvailableRuntimeCommand[]; resolveRuntimeSlashCommand(input: string): string; hasConfiguredSkills(allowedSkillNames?: ReadonlyArray): boolean; createSkillsExecutor?(allowedSkillNames?: ReadonlyArray): SkillsExecutorWithMetadata; createExtension(options: Omit): AgentExtension; } export declare function createUserInstructionConfigService(options?: CreateUserInstructionConfigServiceOptions): UserInstructionConfigService;