/**
 * Author's Voice plugin for OpenWriter.
 * Proxies /api/voice/* to the AV backend and adds editor context-menu items
 * for sub-paragraph text actions (Enhance / Modify / Shrink / Expand / Insert / Fill).
 *
 * Sidebar document transforms (Vary / Shrinkify / Threadify / etc.) live in
 * @openwriter/plugin-publish — they go through the metered platform path.
 */
import type { Express } from 'express';
interface PluginConfigField {
    type: 'string' | 'number' | 'boolean' | 'select';
    required?: boolean;
    env?: string;
    description?: string;
    options?: Array<{
        value: string;
        label: string;
    }>;
}
interface PluginRouteContext {
    app: Express;
    config: Record<string, string>;
}
interface PluginContextMenuItem {
    label: string;
    shortcut?: string;
    action: string;
    condition?: 'has-selection' | 'empty-node' | 'always';
    promptForInput?: boolean;
}
interface PluginSidebarMenuItem {
    label: string;
    action: string;
    promptForFocus?: boolean;
    folderCapable?: boolean;
}
interface OpenWriterPlugin {
    name: string;
    version: string;
    description?: string;
    category?: 'writing' | 'social-media' | 'image-generation';
    configSchema?: Record<string, PluginConfigField>;
    registerRoutes?(ctx: PluginRouteContext): void | Promise<void>;
    contextMenuItems?(): PluginContextMenuItem[];
    sidebarMenuItems?(): PluginSidebarMenuItem[];
}
declare const plugin: OpenWriterPlugin;
export default plugin;
