import type { BlockLayoutDesignProfile } from './blockFlow';
import type { BlockAppearanceDesign, BlockAppearancePreset, BlockAppearancePresetConstraints } from './appearancePresetTypes';
import type { BlockDesignPlan } from './types';
export declare function defineBlockAppearancePreset<const TPreset extends BlockAppearancePreset>(preset: TPreset): TPreset;
export declare function layoutProfileSupportsConstraints(profile: BlockLayoutDesignProfile, constraints: BlockAppearancePresetConstraints): boolean;
export declare function resolveBlockAppearancePresetDesign(preset: BlockAppearancePreset, layoutProfile?: BlockLayoutDesignProfile | null): BlockAppearanceDesign;
export declare function blockDesignPlanFromAppearancePreset<TBlockId extends string, TPurpose extends string>(preset: BlockAppearancePreset, input: Readonly<{
    blockId: TBlockId;
    blockKind: string;
    purpose: TPurpose;
    layoutProfile?: BlockLayoutDesignProfile | null;
}>): BlockDesignPlan<TBlockId, TPurpose>;
