import { SecurityLevel } from "../types/cia"; import { CIAComponentType, CIADataProvider } from "../types/cia-services"; import { EnhancedSecurityResource } from "../types/securityResources"; import { ISecurityResourceService } from "../types/services"; import { BaseService } from "./BaseService"; /** * Service for security resource recommendations * * ## Business Perspective * * Provides curated security resources, best practices, and implementation * guidance tailored to specific security levels and CIA components. Helps * organizations find relevant documentation, tools, and frameworks to * implement effective security controls. 📚 * * @implements {ISecurityResourceService} */ export declare class SecurityResourceService extends BaseService implements ISecurityResourceService { /** * Service name for identification */ readonly name: string; /** * Processed and enhanced security resources */ private resources; /** * Create a new SecurityResourceService instance * * @param dataProvider - Data provider for CIA options and security data * @throws {ServiceError} If dataProvider is not provided */ constructor(dataProvider: CIADataProvider); /** * Process resources to add score and ensure required properties * * @param resources - Raw security resources to process * @returns Enhanced security resources with relevance scores */ private processResources; /** * Get security resources based on component and level * * Returns a curated list of security resources tailored to the specific * CIA component and security level, including documentation, tools, * frameworks, and best practices. * * @param component - CIA component type or 'general' for general resources * @param level - Security level * @returns Array of relevant security resources sorted by relevance * @throws {ServiceError} If component or level is invalid * * @example * ```typescript * const resources = service.getSecurityResources('confidentiality', 'High'); * console.log(`Found ${resources.length} resources`); * resources.forEach(r => console.log(`- ${r.title}: ${r.url}`)); * ``` */ getSecurityResources(component: CIAComponentType | "general" | "all", level: SecurityLevel): EnhancedSecurityResource[]; /** * Calculate resource relevance score */ private calculateRelevance; /** * Get value points for a security level * * Returns a list of key value propositions and benefits for implementing * security controls at the specified security level. Helps justify * security investments to stakeholders. * * @param level - Security level * @returns Array of value point strings describing the benefits and characteristics * @throws {ServiceError} If level is invalid * * @example * ```typescript * const valuePoints = service.getValuePoints('High'); * console.log('Benefits of High security:'); * valuePoints.forEach(point => console.log(`- ${point}`)); * ``` */ getValuePoints(level: SecurityLevel): string[]; } /** * Create SecurityResourceService with the provided data provider */ export declare function createSecurityResourceService(dataProvider: CIADataProvider): SecurityResourceService; //# sourceMappingURL=securityResourceService.d.ts.map