export type RuntimeThreatSeverity = 'critical' | 'warning' | 'info';
export type RuntimeThreatType = 'path-traversal' | 'prompt-injection' | 'command-injection' | 'input-validation' | 'sensitive-data' | 'file-permission' | 'content-security' | 'dependency-vulnerability' | 'rate-limit';
export type RuntimeSecurityAction = 'allowed' | 'blocked' | 'sanitized';
export type RuntimeSecurityLevel = 'strict' | 'standard' | 'permissive';
export interface RuntimeSecurityThreat {
    type: RuntimeThreatType;
    severity: RuntimeThreatSeverity;
    message: string;
    field: string;
    pattern?: string;
}
export interface RuntimeSecurityValidationResult {
    safe: boolean;
    threats: RuntimeSecurityThreat[];
    sanitizedInputs: Record<string, unknown>;
}
export interface RuntimeAuditEntry {
    timestamp: string;
    toolName: string;
    inputsHash: string;
    threatDetected: boolean;
    severity: RuntimeThreatSeverity | null;
    action: RuntimeSecurityAction;
    threats: RuntimeThreatType[];
    userId?: string;
}
export interface RuntimeAuditSummary {
    totalCalls: number;
    threatsDetected: number;
    blockedCalls: number;
    threatsByType: Partial<Record<RuntimeThreatType, number>>;
    topToolsByThreat: {
        tool: string;
        count: number;
    }[];
    securityLevel: RuntimeSecurityLevel;
    timeRange: string;
}
export interface RuntimeRateLimitResult {
    allowed: boolean;
    retryAfterMs: number;
    remainingTokens: number;
}
export interface RuntimeRateLimitConfig {
    maxTokens: number;
    refillRatePerSecond: number;
    burstMultiplier: number;
    burstDurationMs: number;
}
export interface RuntimeDependencyVulnerability {
    package: string;
    version: string;
    cveId: string;
    severity: RuntimeThreatSeverity;
    description: string;
    fixVersion?: string;
    ecosystem: string;
}
export interface RuntimeSecurityConfig {
    level: RuntimeSecurityLevel;
    rateLimits: {
        read: RuntimeRateLimitConfig;
        write: RuntimeRateLimitConfig;
        destructive: RuntimeRateLimitConfig;
    };
    allowedDirectories: string[];
    customInjectionPatterns: string[];
    disabledCheckers: RuntimeThreatType[];
}
export interface RuntimeSecurityChecker {
    type: RuntimeThreatType;
    check(toolName: string, inputs: Record<string, unknown>, config: RuntimeSecurityConfig): RuntimeSecurityThreat[];
}
export interface RuntimeSecurityReportInput {
    projectPath: string;
    timeRange?: 'last24h' | 'last7d' | 'last30d' | 'all';
    format?: 'summary' | 'detailed';
}
export interface InsecureCodePattern {
    name: string;
    regex: RegExp;
    language: string;
}
export interface InjectionPatternsFile {
    patterns: string[];
}
export interface SensitivePattern {
    name: string;
    regex: RegExp;
    category: 'pii' | 'secret' | 'credential-url';
}
export interface RateLimitBucketState {
    tokens: number;
    lastRefill: number;
    burstStart: number | null;
}
export interface CveEntry {
    package: string;
    ecosystem: string;
    affectedVersions: string;
    cveId: string;
    severity: 'critical' | 'warning' | 'info';
    description: string;
    fixVersion?: string;
}
export interface CveDatabase {
    lastUpdated: string;
    vulnerabilities: CveEntry[];
}
//# sourceMappingURL=runtime-security.d.ts.map