/**
 * Quick Actions Types
 *
 * Types for quick actions, bookmarks, and fuzzy finder.
 *
 * @since v1.58.4
 */
import type { Tier } from '../../core/types/auth.js';
/**
 * A quick action item
 */
export interface QuickActionItem {
    /** Unique identifier */
    id: string;
    /** Display label */
    label: string;
    /** Secondary text */
    description?: string;
    /** Icon or emoji */
    icon?: string;
    /** Category for grouping */
    category: QuickActionCategory;
    /** Action to execute */
    action: string;
    /** Action parameters */
    params?: Record<string, unknown>;
    /** Keyboard shortcut (if any) */
    shortcut?: string;
    /** Minimum tier required */
    tier?: Tier;
    /** Match score (for fuzzy search results) */
    score?: number;
    /** Whether this is a recent item */
    isRecent?: boolean;
    /** Whether this is a favorite */
    isFavorite?: boolean;
}
/**
 * Quick action category
 */
export type QuickActionCategory = 'plugin' | 'server' | 'action' | 'view' | 'recent' | 'favorite' | 'registry';
/**
 * Bookmark/favorite
 */
export interface Bookmark {
    /** Unique identifier */
    id: string;
    /** Display label */
    label: string;
    /** Type of bookmarked item */
    type: 'plugin' | 'server' | 'view' | 'action';
    /** Item identifier */
    itemId: string;
    /** Optional keyboard shortcut (1-9) */
    shortcut?: number;
    /** When created */
    createdAt: number;
    /** Usage count */
    usageCount: number;
    /** Tags for organization */
    tags?: string[];
}
/**
 * Quick actions configuration
 */
export interface QuickActionsConfig {
    /** Whether quick actions are enabled */
    enabled: boolean;
    /** User's tier for feature gating */
    userTier: Tier;
    /** Maximum recent items to track */
    maxRecent: number;
    /** Maximum bookmarks */
    maxBookmarks: number;
    /** Whether to show recent items in quick open */
    showRecent: boolean;
    /** Whether to show favorites first */
    prioritizeFavorites: boolean;
}
/**
 * Quick actions state
 */
export interface QuickActionsState {
    /** Current query */
    query: string;
    /** Filtered results */
    results: QuickActionItem[];
    /** Selected index */
    selectedIndex: number;
    /** Whether open */
    isOpen: boolean;
    /** Loading state */
    isLoading: boolean;
}
/**
 * Default quick actions configuration
 */
export declare const DEFAULT_QUICK_ACTIONS_CONFIG: QuickActionsConfig;
/**
 * Create initial quick actions state
 */
export declare function createInitialQuickActionsState(): QuickActionsState;
/**
 * Create a quick action item
 */
export declare function createQuickActionItem(id: string, label: string, category: QuickActionCategory, action: string, options?: Partial<QuickActionItem>): QuickActionItem;
/**
 * Create a bookmark
 */
export declare function createBookmark(type: Bookmark['type'], itemId: string, label: string, shortcut?: number): Bookmark;
/**
 * Fuzzy match score calculation
 */
export declare function calculateFuzzyScore(query: string, target: string): number;
/**
 * Sort items by score
 */
export declare function sortByScore(items: QuickActionItem[]): QuickActionItem[];
/**
 * Group items by category
 */
export declare function groupByCategory(items: QuickActionItem[]): Map<QuickActionCategory, QuickActionItem[]>;
/**
 * Get category display name
 */
export declare function getCategoryDisplayName(category: QuickActionCategory): string;
/**
 * Get category icon
 */
export declare function getCategoryIcon(category: QuickActionCategory): string;
//# sourceMappingURL=quick-actions-types.d.ts.map