export type LlmProvider = 'openai' | 'anthropic' | 'google' | 'mistral' | 'cohere' | 'huggingface' | 'local' | 'azure-openai';
export type LlmFramework = 'langchain' | 'llamaindex' | 'raw-sdk' | 'vercel-ai' | 'mastra' | 'none';
export type VectorStore = 'pinecone' | 'chroma' | 'qdrant' | 'pgvector' | 'weaviate' | 'faiss' | 'redis-vector';
export type EuAiActRisk = 'unacceptable' | 'high-risk' | 'limited-risk' | 'minimal-risk';
export type OwaspLlmCategory = 'LLM01-prompt-injection' | 'LLM02-insecure-output' | 'LLM05-tool-authorization' | 'LLM06-sensitive-disclosure' | 'LLM07-system-prompt-leakage' | 'LLM09-misinformation';
export interface LlmDetectionResult {
    isLlmProject: boolean;
    provider: LlmProvider | null;
    framework: LlmFramework;
    hasRAG: boolean;
    vectorStore: VectorStore | null;
    hasToolUse: boolean;
    hasFineTuning: boolean;
    hasEmbeddingsOwn: boolean;
    euAiActRisk: EuAiActRisk;
    detectedHighRiskDomains: string[];
}
export interface LlmSecurityGap {
    owaspId: string;
    title: string;
    severity: 'critical' | 'high' | 'medium';
    criterion: string;
}
export interface LlmSecurityCriterion {
    category: OwaspLlmCategory;
    criterion: string;
    rationale: string;
    testable: boolean;
}
export interface EuAiActAssessment {
    riskLevel: EuAiActRisk;
    detectedDomains: string[];
    complianceChecklist: string[];
}
export interface LlmGuardrailsConfig {
    highRiskDomains: Record<string, string[]>;
    unacceptableRiskKeywords: string[];
    guardrailTools: {
        python: LlmToolEntry[];
        node: LlmToolEntry[];
        enterprise: LlmToolEntry[];
    };
    mlopsTools: {
        start: LlmToolEntry[];
        scale: LlmToolEntry[];
        enterprise: LlmToolEntry[];
        llmops: LlmToolEntry[];
    };
}
export interface LlmToolEntry {
    name: string;
    description: string;
    docsUrl: string;
    required?: boolean;
}
/** SPEC-535: Result of scanning project dependency files for foundation model SDKs. */
export interface GpaiDetectionResult {
    usesFoundationModels: boolean;
    /** e.g. ['@anthropic-ai/sdk', 'openai'] */
    detectedSdks: string[];
    /** e.g. ['Anthropic', 'OpenAI'] */
    providers: string[];
}
//# sourceMappingURL=llm-security.d.ts.map