export declare const AGENT_SKILL_MAPPING_VERSION = "agent-skill-v1";
export type ConversionDirection = 'agent_to_dollhouse' | 'dollhouse_to_agent';
export type SkillPathMode = 'safe' | 'lossless';
export type SkillSecurityMode = 'strict' | 'warn';
export type ConversionWarningCode = 'unsupported_field' | 'ambiguous_mapping' | 'missing_required_field' | 'invalid_input';
export interface ConversionWarning {
    code: ConversionWarningCode;
    path: string;
    message: string;
    preserved: boolean;
}
export interface ConversionReport {
    mappingVersion: string;
    deterministic: boolean;
    roundTripAvailable: boolean;
    warnings: ConversionWarning[];
    unsupportedFields: string[];
    metrics?: ConversionMetrics;
}
export interface ConversionMetrics {
    durationMs: number;
    inputTextBytes: number;
    outputTextBytes: number;
    memoryDeltaBytes: number;
    heapUsedBytes: number;
}
export interface AgentSkillStructure {
    'SKILL.md': string;
    'scripts/'?: Record<string, string>;
    'references/'?: Record<string, string>;
    'assets/'?: Record<string, string>;
    'agents/'?: Record<string, string>;
    [key: string]: string | Record<string, string> | undefined;
}
export interface DollhouseSkillArtifact {
    metadata: Record<string, unknown>;
    instructions: string;
    content: string;
}
export interface SkillRoundTripState {
    mappingVersion: string;
    agentSkill: AgentSkillStructure;
}
export interface SkillConversionOptions {
    direction: ConversionDirection;
    path_mode?: SkillPathMode;
    security_mode?: SkillSecurityMode;
    agent_skill?: AgentSkillStructure;
    dollhouse?: DollhouseSkillArtifact;
    dollhouse_markdown?: string;
    roundtrip_state?: SkillRoundTripState;
    prefer_roundtrip_state?: boolean;
}
export interface SkillConversionResult {
    direction: ConversionDirection;
    mappingVersion: string;
    dollhouse?: DollhouseSkillArtifact;
    dollhouse_markdown?: string;
    agent_skill?: AgentSkillStructure;
    roundtrip_state?: SkillRoundTripState;
    report: ConversionReport;
}
export declare class AgentSkillConverter {
    convert(options: SkillConversionOptions): SkillConversionResult;
    private validateInputBounds;
    private attachConversionMetrics;
    private measureInputBytes;
    private measureOutputBytes;
    private applyDollhouseSecurityPolicy;
    private scanObjectStrings;
    private scanTextContent;
    convertAgentToDollhouse(agentSkill: AgentSkillStructure, pathMode?: SkillPathMode, securityMode?: SkillSecurityMode): SkillConversionResult;
    convertDollhouseToAgent(options: SkillConversionOptions, pathMode?: SkillPathMode): SkillConversionResult;
    parseDollhouseMarkdown(markdown: string): DollhouseSkillArtifact;
    serializeDollhouseMarkdown(skill: DollhouseSkillArtifact): string;
    private resolveDollhouseInput;
    private parseSkillMarkdown;
    private serializeSkillMarkdown;
    private readRequiredString;
    private readString;
    private buildDollhouseContent;
    private buildContentBlock;
    private extractResourcesFromDollhouseContent;
}
//# sourceMappingURL=AgentSkillConverter.d.ts.map