import { type DisablePluginResponses, type EnablePluginResponses, type InstallPluginResponses, type ListPluginCommandsResponses, type ListPluginRegistryResponses, type ListPluginsResponses, type RemovePluginResponses, type RunPluginCommandData, type RunPluginCommandResponses, type UpdatePluginResponses } from '@ottocode/api'; export type PluginScope = 'global' | 'project'; export type PluginsListResponse = ListPluginsResponses[200]; export type PluginRegistryResponse = ListPluginRegistryResponses[200]; export type EffectivePlugin = PluginsListResponse['plugins'][number]; export type DiscoveredPlugin = PluginsListResponse['global']['plugins'][number]; export type PluginRegistryEntry = PluginRegistryResponse['plugins'][number]; export type PluginManifest = NonNullable; export type PluginCommand = NonNullable[string]; export type PluginCommandsListResponse = ListPluginCommandsResponses[200]; export type PluginCommandListEntry = PluginCommandsListResponse['commands'][number]; export type PluginCommandParameter = NonNullable[string]; export type PluginCommandRunResponse = RunPluginCommandResponses[200]; export type PluginCommandRunInput = RunPluginCommandData['body']; export type PluginMutationResponse = InstallPluginResponses[200] | RemovePluginResponses[200] | EnablePluginResponses[200] | DisablePluginResponses[200]; export type PluginUpdateResponse = UpdatePluginResponses[200]; export interface PluginProjectOptions { project?: string; } export interface PluginInstallInput extends PluginProjectOptions { source: string; scope?: PluginScope; enabled?: boolean; } export interface PluginMutationInput extends PluginProjectOptions { name: string; scope?: PluginScope; } export interface PluginUpdateInput extends PluginProjectOptions { name?: string; scope?: PluginScope; } export declare const pluginsMixin: { listPlugins(options?: PluginProjectOptions): Promise; listPluginRegistry(options?: PluginProjectOptions): Promise; listPluginCommands(options?: PluginProjectOptions): Promise; runPluginCommand(plugin: string, command: string, body?: PluginCommandRunInput): Promise; installPlugin(input: PluginInstallInput): Promise; removePlugin(input: PluginMutationInput): Promise; enablePlugin(input: PluginMutationInput): Promise; disablePlugin(input: PluginMutationInput): Promise; updatePlugin(input: PluginUpdateInput): Promise; }; //# sourceMappingURL=plugins.d.ts.map