import type { FieldConfig } from '@riverbankcms/block-form';
export type SettingsIntent = 'display' | 'behavior' | 'style';
export type SettingsIntentGroups = {
    display: FieldConfig[];
    behavior: FieldConfig[];
    style: FieldConfig[];
};
export declare function isThemeV2NormalEditorRawStyleField(field: Pick<FieldConfig, 'id'>): boolean;
export declare function filterThemeV2NormalEditorRawStyleFields(fields: readonly FieldConfig[]): FieldConfig[];
export declare function filterThemeV2NormalEditorRawPromotedFields(promotedFields: readonly string[] | undefined, allowedFieldPaths?: readonly string[] | undefined): string[] | undefined;
export declare function hideThemeV2NormalEditorRawStyleFieldsInRenderFields<TField extends Pick<FieldConfig, 'id' | 'ui'>>(fields: readonly TField[]): TField[];
export declare function resolveSettingsIntent(field: FieldConfig): SettingsIntent | null;
export declare function partitionSettingsFields(fields: FieldConfig[]): SettingsIntentGroups;
export declare function getDirectSectionStylesField(groups: SettingsIntentGroups): FieldConfig | null;
/**
 * Remove top-level routing flags so fields render directly in settings tabs.
 * Nested child routing metadata is intentionally preserved in v1.
 */
export declare function stripTopLevelRoutingUi(field: FieldConfig): FieldConfig;
