/**
 * Adapter to convert simple portfolio elements to full IElement interface
 * This resolves type safety issues without complex type casting
 *
 * FIXES IMPLEMENTED (PR #503):
 * 1. TYPE SAFETY (Issue #497): Eliminates complex type casting with adapter pattern
 * 2. SECURITY FIX DMCP-SEC-004 (MEDIUM): Added Unicode normalization for all user input
 * 3. SECURITY FIX DMCP-SEC-006 (LOW): Added audit logging for element creation
 * 4. PERFORMANCE: Helper methods for efficient string normalization
 */
import { IElement, IElementMetadata, ElementValidationResult, ElementStatus } from '../../types/elements/IElement.js';
import { ElementType } from '../../portfolio/types.js';
import { PortfolioElement } from './types.js';
/**
 * Adapter class that wraps a simple PortfolioElement and implements IElement
 * This allows us to pass portfolio elements to methods expecting IElement
 * without complex type casting
 */
export declare class PortfolioElementAdapter implements IElement {
    readonly id: string;
    readonly type: ElementType;
    readonly version: string;
    readonly metadata: IElementMetadata;
    private readonly portfolioElement;
    constructor(element: PortfolioElement);
    /**
     * Helper to normalize string values safely
     */
    private normalizeString;
    /**
     * Validate the element
     */
    validate(): ElementValidationResult;
    /**
     * Serialize the element to markdown with YAML frontmatter
     * FIX: Changed from JSON to markdown format for GitHub portfolio compatibility
     * SECURITY FIX #544: Parse and validate existing frontmatter instead of returning as-is
     * SECURITY FIX #543: Use SecureYamlParser for robust frontmatter detection
     */
    serialize(): string;
    /**
     * Deserialize from string (not implemented for adapter)
     */
    deserialize(_data: string): void;
    /**
     * Get element status
     */
    getStatus(): ElementStatus;
    /**
     * Get the original portfolio element content
     */
    getContent(): string;
}
//# sourceMappingURL=PortfolioElementAdapter.d.ts.map