import { type BlockAppearanceDesign, type BlockAppearanceOptionGroup, type BlockAppearancePreset } from './appearancePresets';
import type { BlockLayoutDesignProfile } from './blockFlow';
import type { CuratedSiteStyle } from './curatedSiteStyles';
import { type AppearancePresetId } from './types';
export type ResolvedBlockAppearancePreset = Readonly<{
    id: AppearancePresetId;
    label: string;
    design: BlockAppearanceDesign;
    optionGroups: readonly BlockAppearanceOptionGroup[];
}>;
export declare function blockAppearancePresetSupportsBlockKind(preset: BlockAppearancePreset, blockKind: string): boolean;
export declare function blockAppearancePresetSupportsLayoutProfile(preset: BlockAppearancePreset, profile: BlockLayoutDesignProfile | null, input?: Readonly<{
    allowLayoutConstrainedPresetWithoutProfile?: boolean;
}>): boolean;
export declare function resolveBlockAppearancePreset(preset: BlockAppearancePreset, layoutProfile?: BlockLayoutDesignProfile | null): ResolvedBlockAppearancePreset;
export declare function getCompatibleBlockAppearancePresets(input: Readonly<{
    blockKind: string;
    layoutProfile?: BlockLayoutDesignProfile | null;
    siteStyle?: CuratedSiteStyle | null;
    allowLayoutConstrainedPresetWithoutProfile?: boolean;
}>): readonly ResolvedBlockAppearancePreset[];
