import sqlite3 from 'sqlite3';
export interface FeatureRequest {
    id: string;
    status: 'Proposed' | 'In Discussion' | 'Approved' | 'In Development' | 'Research Phase' | 'Partially Implemented' | 'Completed' | 'Rejected';
    priority: 'Low' | 'Medium' | 'High' | 'Critical';
    dateRequested: string;
    category: string;
    requestedBy?: string;
    title: string;
    description: string;
    userStory: string;
    currentBehavior: string;
    expectedBehavior: string;
    acceptanceCriteria: string[];
    potentialImplementation?: string;
    dependencies?: string[];
    effortEstimate?: 'Small' | 'Medium' | 'Large' | 'XL';
}
export declare class FeatureManager {
    private tokenTracker;
    constructor();
    /**
     * Create a new feature request
     */
    createFeatureRequest(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * List feature requests with filtering options
     */
    listFeatureRequests(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Update feature request status
     */
    updateFeatureStatus(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Search feature requests
     */
    searchFeatures(db: sqlite3.Database, query: string, args: any): Promise<any[]>;
    /**
     * Bulk update feature request status
     */
    bulkUpdateFeatureStatus(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Generate next ID for feature with retry mechanism for race conditions
     */
    private generateNextIdWithRetry;
    /**
     * Generate next ID for feature
     */
    private generateNextId;
}
//# sourceMappingURL=features.d.ts.map