import type { AgentExtension } from "@clinebot/shared"; 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; createExtension(options: Omit): AgentExtension; } export declare function createUserInstructionConfigService(options?: CreateUserInstructionConfigServiceOptions): UserInstructionConfigService;