/**
 * Intent Classification Patterns
 *
 * Contains known action patterns, resource sensitivity mappings, and pattern matching utilities
 * for rule-based intent classification in the Vorion AI Governance Platform.
 */
/**
 * Intent category for classification
 */
export type IntentCategory = 'data-access' | 'model-operation' | 'external-integration' | 'system-config' | 'user-action';
/**
 * Risk tier levels
 */
export type RiskTier = 'low' | 'medium' | 'high' | 'critical';
/**
 * Action pattern definition with default risk configuration
 */
export interface ActionPattern {
    /** Pattern name for identification */
    name: string;
    /** Regex pattern to match action strings */
    pattern: RegExp;
    /** Category this action belongs to */
    category: IntentCategory;
    /** Default base risk score (0-100) */
    defaultRiskScore: number;
    /** Default risk tier */
    defaultRiskTier: RiskTier;
    /** Description of the action type */
    description: string;
}
/**
 * Resource sensitivity mapping
 */
export interface ResourceSensitivity {
    /** Pattern name for identification */
    name: string;
    /** Regex pattern to match resource strings */
    pattern: RegExp;
    /** Sensitivity level (0-100) */
    sensitivityLevel: number;
    /** Risk tier when accessing this resource */
    riskTier: RiskTier;
    /** Description of why this resource is sensitive */
    description: string;
}
/**
 * Known action patterns with their default risk levels.
 *
 * Risk Score Guidelines:
 * - 0-25: Low risk, routine operations
 * - 26-50: Medium risk, requires monitoring
 * - 51-75: High risk, requires review
 * - 76-100: Critical risk, requires explicit approval
 */
export declare const ACTION_PATTERNS: ActionPattern[];
/**
 * Resource sensitivity mappings for risk calculation.
 *
 * Resources are matched against patterns and their sensitivity level
 * is used as a multiplier in risk calculation.
 *
 * Note: Patterns use (^|[-_]) and ([-_]|$) for word boundaries that work
 * with underscore/hyphen delimited resource names (e.g., "customer_data").
 */
export declare const RESOURCE_SENSITIVITY: ResourceSensitivity[];
/**
 * Match an action string against known patterns
 *
 * @param action - The action string to match (e.g., 'data:read')
 * @returns Matching action pattern or undefined if no match
 */
export declare function matchActionPattern(action: string): ActionPattern | undefined;
/**
 * Match a resource string against sensitivity patterns
 *
 * @param resource - The resource string to match
 * @returns Array of matching sensitivity patterns, sorted by sensitivity level (descending)
 */
export declare function matchResourceSensitivity(resource: string): ResourceSensitivity[];
/**
 * Get the highest sensitivity level for a resource
 *
 * @param resource - The resource string to evaluate
 * @returns Highest sensitivity level (0-100), defaults to 30 if no match
 */
export declare function getResourceSensitivityLevel(resource: string): number;
/**
 * Get the risk tier for a resource based on sensitivity patterns
 *
 * @param resource - The resource string to evaluate
 * @returns Risk tier for the resource
 */
export declare function getResourceRiskTier(resource: string): RiskTier;
/**
 * Infer category from action string when no pattern matches
 *
 * @param action - The action string to analyze
 * @returns Inferred category based on action prefix
 */
export declare function inferCategoryFromAction(action: string): IntentCategory;
/**
 * Convert a risk score to a risk tier
 *
 * @param score - Risk score (0-100)
 * @returns Corresponding risk tier
 *
 * Tier Thresholds:
 * - low: 0-25
 * - medium: 26-50
 * - high: 51-75
 * - critical: 76-100
 */
export declare function scoreToTier(score: number): RiskTier;
/**
 * Get the minimum score for a given tier
 *
 * @param tier - Risk tier
 * @returns Minimum score for the tier
 */
export declare function tierToMinScore(tier: RiskTier): number;
/**
 * Check if an action pattern requires approval based on default risk tier
 *
 * @param pattern - Action pattern to check
 * @returns True if the pattern typically requires approval
 */
export declare function requiresApproval(pattern: ActionPattern): boolean;
//# sourceMappingURL=patterns.d.ts.map