import { type BlockDesignCapabilityMap, type BlockDesignPlan, type DesignRepairResult, type DesignResolutionIssue, type DesignResolutionPolicy, type ResolvedPageDesignPlan } from './types';
export declare function repairDesignIssue<TBlockId extends string, TPurpose extends string>(issue: DesignResolutionIssue<TBlockId, TPurpose>): DesignRepairResult<TBlockId, TPurpose>;
export declare function resolveBlockDesignPlan<TBlockId extends string, TPurpose extends string>(input: Readonly<{
    policy: DesignResolutionPolicy;
    blocks: readonly BlockDesignPlan<TBlockId, TPurpose>[];
    capabilities: BlockDesignCapabilityMap;
}>): ResolvedPageDesignPlan<TBlockId, TPurpose>;
export declare function reinterpretForSiteStyle<TBlockId extends string, TPurpose extends string>(input: Readonly<{
    policy: DesignResolutionPolicy;
    blocks: readonly BlockDesignPlan<TBlockId, TPurpose>[];
    capabilities: BlockDesignCapabilityMap;
}>): Readonly<{
    resolved: ResolvedPageDesignPlan<TBlockId, TPurpose>;
    preservedBlockIds: readonly TBlockId[];
    incompatibleBlockIds: readonly TBlockId[];
    fallbackBlockIds: readonly TBlockId[];
}>;
