import { ExtractedEntities, TaskClassification } from '../nlp.service';
/**
 * Structured task data interfaces
 */
export interface StructuredTask {
    id?: string;
    title: string;
    description: string;
    type: string;
    priority: 'critical' | 'high' | 'medium' | 'low';
    status: 'pending' | 'in-progress' | 'completed' | 'blocked';
    estimatedHours?: number;
    deadline?: Date;
    assignees: string[];
    dependencies: string[];
    tags: string[];
    acceptanceCriteria: string[];
    metadata: {
        urgency: string;
        complexity: string;
        sentiment: string;
        confidence: number;
        language: string;
        createdAt: Date;
        source: 'nlp';
    };
    projectId?: string;
    parentTaskId?: string;
}
/**
 * Structured Data Generator Service
 */
export declare class StructuredDataGeneratorService {
    /**
     * Generate structured task data from extracted entities and classification
     */
    generate(input: {
        text: string;
        entities: ExtractedEntities;
        classification: TaskClassification;
        context?: Record<string, any>;
        projectId?: string;
    }): Promise<StructuredTask>;
    /**
     * Generate a proper title
     */
    private generateTitle;
    /**
     * Generate a proper description
     */
    private generateDescription;
    /**
     * Normalize priority based on multiple signals
     */
    private normalizePriority;
    /**
     * Determine initial task status
     */
    private determineInitialStatus;
    /**
     * Normalize assignees list
     */
    private normalizeAssignees;
    /**
     * Normalize dependencies list
     */
    private normalizeDependencies;
    /**
     * Normalize tags
     */
    private normalizeTags;
    /**
     * Normalize acceptance criteria
     */
    private normalizeAcceptanceCriteria;
    /**
     * Normalize title string
     */
    private normalizeTitle;
    /**
     * Normalize description string
     */
    private normalizeDescription;
    /**
     * Calculate overall confidence
     */
    private calculateOverallConfidence;
    /**
     * Validate structured task data
     */
    private validate;
    /**
     * Enrich task with context information
     */
    private enrichWithContext;
    /**
     * Apply fallback values for missing required data
     */
    private applyFallbacks;
    /**
     * Check if status is valid
     */
    private isValidStatus;
}
//# sourceMappingURL=structured-data.service.d.ts.map