import type { ManagementSettings, SettingsUpdateInput } from './types';
export declare const SETTINGS_BASE_FIELDS: readonly ["homepageId", "seoDefaults"];
export declare const SETTINGS_BRANDING_FIELDS: readonly ["logoIdentifier", "faviconIdentifier"];
export declare const SETTINGS_FIELDS: readonly ["homepageId", "seoDefaults", "logoIdentifier", "faviconIdentifier"];
export type SettingsBaseField = (typeof SETTINGS_BASE_FIELDS)[number];
export type SettingsBrandingField = (typeof SETTINGS_BRANDING_FIELDS)[number];
export type SettingsField = (typeof SETTINGS_FIELDS)[number];
export type SettingsBrandingIdentifierCarrier = Partial<Record<SettingsBrandingField, string | null | undefined>>;
export type SettingsBrandingPullResolution = Readonly<{
    field: SettingsBrandingField;
    kind: 'resolved';
    identifier: string;
}> | Readonly<{
    field: SettingsBrandingField;
    kind: 'missing';
}> | Readonly<{
    field: SettingsBrandingField;
    kind: 'unresolved';
    assetId: string;
}>;
export declare function hasOwnSettingsField(settings: object, field: SettingsField): boolean;
export declare function buildSettingsUpdateInput(settings: Partial<ManagementSettings>): SettingsUpdateInput;
export declare function applySettingsBrandingPullResolutions(baseSettings: Pick<ManagementSettings, 'homepageId' | 'seoDefaults'>, resolutions: SettingsBrandingPullResolution[]): {
    settings: ManagementSettings;
    warnings: string[];
};
export declare function getSettingsBrandingLabel(field: SettingsBrandingField): string;
export declare function collectSettingsBrandingIdentifiers(settings: SettingsBrandingIdentifierCarrier | null | undefined): Array<{
    field: SettingsBrandingField;
    identifier: string;
}>;
export declare function isImageMimeType(mimeType: string | null | undefined): boolean;
