import { PromptFragmentCustomizationService } from '@theia/ai-core'; import { Command, CommandContribution, CommandRegistry, ILogger, MessageService } from '@theia/core'; import { FrontendApplicationContribution, LocalStorageService } from '@theia/core/lib/browser'; import { CustomAgentFactory } from './custom-agent-factory'; type CustomAgentMigrationReports = Awaited>; export declare const RERUN_CUSTOM_AGENT_MIGRATION_COMMAND: Command; export declare class AICustomAgentsFrontendApplicationContribution implements FrontendApplicationContribution, CommandContribution { protected readonly customAgentFactory: CustomAgentFactory; protected readonly customizationService: PromptFragmentCustomizationService; private readonly agentService; private readonly chatAgentService; protected readonly messageService?: MessageService; protected readonly storageService: LocalStorageService; protected readonly logger: ILogger; private knownCustomAgents; /** Ensures the migration consent prompt is shown at most once per session. */ protected migrationPromptShown: boolean; /** Guards against concurrent pending-migration checks from re-entrant refreshes. */ protected migrationCheckInFlight: boolean; registerCommands(commands: CommandRegistry): void; onStart(): void; protected refreshCustomAgents(): Promise; /** * Prompts the user once per session before migrating legacy `customAgents.yml` files (and before * correcting agents migrated with merged headings by an earlier Theia version). Nothing is written * until the user confirms. Declining is safe: legacy `customAgents.yml` files keep being loaded, so * agents continue to work unmigrated, and the prompt reappears next session until they migrate or * pick "Don't Show Again". * * This is intentionally not backed by a preference: the whole migration path is transitional and * will be removed once the legacy format is no longer supported. The "don't show again" choice is * persisted in local storage (like the dev-container suggestion), so there is no setting to retire. */ protected maybeMigrate(): Promise; protected promptAndMigrate(): Promise; protected showMigrationSummary(reports: CustomAgentMigrationReports): void; onStop(): void; } export {}; //# sourceMappingURL=custom-agent-frontend-application-contribution.d.ts.map