/**
 * Persona element class implementing IElement interface.
 * Represents a behavioral profile that defines AI personality and interaction style.
 */
import { BaseElement } from '../elements/BaseElement.js';
import { IElement, IElementMetadata, ElementValidationResult } from '../types/elements/index.js';
import { PersonaMetadata } from '../types/persona.js';
export interface PersonaElementMetadata extends IElementMetadata {
    triggers?: string[];
    category?: string;
    age_rating?: 'all' | '13+' | '18+';
    content_flags?: string[];
    ai_generated?: boolean;
    generation_method?: 'human' | 'ChatGPT' | 'Claude' | 'hybrid';
    price?: string;
    revenue_split?: string;
    license?: string;
    created_date?: string;
}
export declare class PersonaElement extends BaseElement implements IElement {
    content: string;
    filename: string;
    metadata: PersonaElementMetadata;
    constructor(metadata: Partial<PersonaElementMetadata>, content?: string, filename?: string);
    /**
     * Create PersonaElement from legacy Persona interface
     */
    static fromLegacy(legacyPersona: {
        metadata: PersonaMetadata;
        content: string;
        filename: string;
        unique_id: string;
    }): PersonaElement;
    /**
     * Convert to legacy Persona interface for backward compatibility
     */
    toLegacy(): {
        metadata: PersonaMetadata;
        content: string;
        filename: string;
        unique_id: string;
    };
    /**
     * Persona-specific validation
     */
    validate(): ElementValidationResult;
    /**
     * Serialize persona to markdown format
     */
    serialize(): string;
    /**
     * Deserialize persona from markdown format
     */
    deserialize(data: string): void;
    /**
     * Persona activation lifecycle
     */
    activate(): Promise<void>;
    /**
     * Persona deactivation lifecycle
     */
    deactivate(): Promise<void>;
}
//# sourceMappingURL=PersonaElement.d.ts.map