/**
 * Intent Classification System
 *
 * Provides rule-based classification for intents in the Vorion AI Governance Platform.
 * Classifies intents by category, risk level, and required approvals.
 *
 * Architecture:
 * - IntentClassifier: Main entry point for classification
 * - RiskAssessor: Calculates risk scores and required approvals
 * - Patterns: Action patterns and resource sensitivity mappings
 */
import { RiskAssessor, type CreateIntent, type RiskAssessment, type HistoricalPattern, type RiskAssessorConfig } from './risk.js';
import { type IntentCategory, type RiskTier } from './patterns.js';
/**
 * Approval requirement type
 */
export type ApprovalType = 'none' | 'auto' | 'human' | 'manager' | 'security' | 'multi-party';
/**
 * Classification result containing category, risk, and approval information
 */
export interface Classification {
    /** Intent category */
    category: IntentCategory;
    /** Risk level classification */
    riskLevel: RiskTier;
    /** Risk score (0-100) */
    riskScore: number;
    /** Required approval types */
    requiredApprovals: ApprovalType[];
    /** Minimum trust level required */
    minTrustLevel: number;
    /** Whether auto-approval is possible */
    canAutoApprove: boolean;
    /** Action pattern that was matched (if any) */
    matchedPattern?: string;
    /** Classification confidence (0-1) */
    confidence: number;
    /** Full risk assessment details */
    riskAssessment: RiskAssessment;
    /** Classification timestamp */
    classifiedAt: string;
}
/**
 * Configuration for the IntentClassifier
 */
export interface IntentClassifierConfig {
    /** Risk assessor configuration */
    riskConfig?: Partial<RiskAssessorConfig>;
    /** Trust level threshold for auto-approval (default: 3) */
    autoApprovalTrustThreshold: number;
    /** Risk score threshold for auto-approval (default: 30) */
    autoApprovalRiskThreshold: number;
    /** Enable strict classification mode (default: false) */
    strictMode: boolean;
}
/**
 * IntentClassifier for categorizing and assessing intents
 *
 * Provides rule-based classification without external ML dependencies.
 * Classification includes:
 * - Category (data-access, model-operation, external-integration, system-config, user-action)
 * - Risk level (low, medium, high, critical)
 * - Required approvals
 * - Auto-approval eligibility
 */
export declare class IntentClassifier {
    private config;
    private riskAssessor;
    constructor(config?: Partial<IntentClassifierConfig>);
    /**
     * Classify an intent
     *
     * @param intent - The intent to classify
     * @param historicalPattern - Optional historical pattern data for risk assessment
     * @returns Complete classification result
     */
    classifyIntent(intent: CreateIntent, historicalPattern?: HistoricalPattern | null): Promise<Classification>;
    /**
     * Calculate classification confidence
     *
     * Confidence is based on:
     * - Pattern match: +0.5 if action matches known pattern
     * - Resource specificity: +0.3 if resource is non-empty
     * - Parameters presence: +0.2 if parameters are provided
     */
    private calculateConfidence;
    /**
     * Determine approval types based on risk assessment
     */
    private determineApprovalTypes;
    /**
     * Determine if an intent can be auto-approved
     *
     * Auto-approval is possible when:
     * - Risk score is below the auto-approval threshold
     * - No human, manager, or security review is required
     * - Trust level requirement is met by the auto-approval trust threshold
     */
    private canAutoApprove;
    /**
     * Get the configured risk assessor
     */
    getRiskAssessor(): RiskAssessor;
    /**
     * Check if an action is known/recognized
     */
    isKnownAction(action: string): boolean;
    /**
     * Get the category for an action
     */
    getCategoryForAction(action: string): IntentCategory;
}
/**
 * Create a new IntentClassifier instance with optional configuration
 */
export declare function createIntentClassifier(config?: Partial<IntentClassifierConfig>): IntentClassifier;
export type { CreateIntent, RiskAssessment, HistoricalPattern, RiskAssessorConfig, RiskFactor, RequiredApprovals, } from './risk.js';
export { RiskAssessor, createRiskAssessor, } from './risk.js';
export type { IntentCategory, RiskTier, ActionPattern, ResourceSensitivity, } from './patterns.js';
export { ACTION_PATTERNS, RESOURCE_SENSITIVITY, matchActionPattern, matchResourceSensitivity, getResourceSensitivityLevel, getResourceRiskTier, inferCategoryFromAction, scoreToTier, tierToMinScore, requiresApproval, } from './patterns.js';
//# sourceMappingURL=index.d.ts.map