import type { FormBuilder, FormControl } from '@angular/forms';
import type { ApplicationOptions } from '@c8y/options';
type ParamIntersection<T> = {
    [K in keyof T]: (x: T[K]) => void;
}[keyof T] extends (x: infer I) => void ? I : never;
export type BrandingFormValue = ReturnType<typeof createGenericBrandingForm>['value'];
export type BrandingFormKeys = keyof BrandingFormValue;
export type BrandingFormTopLevelKeys = (typeof brandingFormGroupTopLevelEntries)[number];
export type BrandingFormTopLevelKeysToUnpack = (typeof brandingFormGroupTopLevelEntriesToUnpack)[number];
export type TopLevelFormKeysNotToUnpack = Exclude<BrandingFormTopLevelKeys, BrandingFormTopLevelKeysToUnpack>;
export type UnpackedTopLevelFormKeys = ParamIntersection<Pick<BrandingFormValue, BrandingFormTopLevelKeysToUnpack>>;
export type NotUnpackedTopLevelFormKeys = Pick<BrandingFormValue, TopLevelFormKeysNotToUnpack>;
export type TopLevelForm = NotUnpackedTopLevelFormKeys & UnpackedTopLevelFormKeys;
export type TopLevelValues = TopLevelForm;
export type BrandingCSSVarsForm = Omit<BrandingFormValue, BrandingFormTopLevelKeys>;
export type BrandingCSSVarsValues = ParamIntersection<BrandingCSSVarsForm> & ReturnType<typeof createBrandingForm>['value'];
export type BrandingOptionsJson = TopLevelValues & {
    brandingCssVars?: BrandingCSSVarsValues;
} & Partial<ApplicationOptions>;
export declare const brandingFormGroupTopLevelEntries: readonly ["cookieBanner", "genericApplicationOptions", "darkThemeAvailable", "messageBanner"];
export declare const brandingFormGroupTopLevelEntriesToUnpack: readonly ["genericApplicationOptions"];
export declare const numberBrandingVars: readonly ["brand-logo-img-height", "btn-border-radius-base"];
export declare const colorBrandingVars: readonly ["brand-dark", "brand-light", "brand-primary", "c8y-brand-10", "c8y-brand-20", "c8y-brand-30", "c8y-brand-40", "c8y-brand-50", "c8y-brand-60", "c8y-brand-70", "c8y-brand-80", "palette-status-info", "palette-status-warning", "palette-status-success", "palette-status-danger", "palette-status-info-light", "palette-status-warning-light", "palette-status-success-light", "palette-status-danger-light", "palette-status-info-dark", "palette-status-warning-dark", "palette-status-success-dark", "palette-status-danger-dark", "body-background-color", "text-color", "text-muted", "link-color", "link-hover-color", "action-bar-background-default", "action-bar-color-actions-hover", "action-bar-color-actions", "action-bar-color-default", "action-bar-icon-color", "header-color", "header-text-color", "header-hover-color", "navigator-bg-color", "navigator-active-bg", "navigator-border-active", "navigator-header-bg", "navigator-title-color", "navigator-separator-color", "navigator-text-color", "navigator-color-active", "right-drawer-background-default", "right-drawer-text-color-default", "right-drawer-separator-color", "right-drawer-link-color", "right-drawer-link-color-hover", "right-drawer-text-muted"];
export declare const stringBrandingVars: readonly ["brand-logo-img", "navigator-platform-logo"];
export declare const stringOrNumberBrandingVars: readonly ["navigator-platform-logo-height"];
export declare const allBrandingCSSVars: readonly ["brand-logo-img-height", "btn-border-radius-base", "brand-logo-img", "navigator-platform-logo", "brand-dark", "brand-light", "brand-primary", "c8y-brand-10", "c8y-brand-20", "c8y-brand-30", "c8y-brand-40", "c8y-brand-50", "c8y-brand-60", "c8y-brand-70", "c8y-brand-80", "palette-status-info", "palette-status-warning", "palette-status-success", "palette-status-danger", "palette-status-info-light", "palette-status-warning-light", "palette-status-success-light", "palette-status-danger-light", "palette-status-info-dark", "palette-status-warning-dark", "palette-status-success-dark", "palette-status-danger-dark", "body-background-color", "text-color", "text-muted", "link-color", "link-hover-color", "action-bar-background-default", "action-bar-color-actions-hover", "action-bar-color-actions", "action-bar-color-default", "action-bar-icon-color", "header-color", "header-text-color", "header-hover-color", "navigator-bg-color", "navigator-active-bg", "navigator-border-active", "navigator-header-bg", "navigator-title-color", "navigator-separator-color", "navigator-text-color", "navigator-color-active", "right-drawer-background-default", "right-drawer-text-color-default", "right-drawer-separator-color", "right-drawer-link-color", "right-drawer-link-color-hover", "right-drawer-text-muted"];
export declare function createGenericBrandingForm(formBuilder: FormBuilder): import("@angular/forms").FormGroup<{
    darkThemeAvailable: FormControl<boolean>;
    cookieBanner: import("@angular/forms").FormGroup<{
        cookieBannerTitle: FormControl<string>;
        cookieBannerText: FormControl<string>;
        cookieBannerDisabled: FormControl<boolean>;
        policyUrl: FormControl<string>;
        policyVersion: FormControl<string>;
    }>;
    messageBanner: import("@angular/forms").FormGroup<{
        messageBannerEnabled: FormControl<boolean>;
        messageBannerContent: FormControl<string>;
        messageBannerType: FormControl<"success" | "warning" | "danger" | "info" | "system">;
    }>;
    baseTypography: import("@angular/forms").FormGroup<{
        'font-url': FormControl<string>;
        'font-family-base': FormControl<string>;
    }>;
    headingsAndNavigatorTypography: import("@angular/forms").FormGroup<{
        'font-family-headings': FormControl<string>;
        'navigator-font-family': FormControl<string>;
    }>;
    genericApplicationOptions: import("@angular/forms").FormGroup<{
        globalTitle: FormControl<string>;
        faviconUrl: FormControl<string>;
    }>;
}>;
export declare function createBrandingForm(formBuilder: FormBuilder): import("@angular/forms").FormGroup<{
    "navigator-platform-logo-height": FormControl<string | number>;
    "brand-logo-img-height": FormControl<number>;
    "btn-border-radius-base": FormControl<number>;
    "brand-logo-img": FormControl<string>;
    "navigator-platform-logo": FormControl<string>;
    "brand-dark": FormControl<string>;
    "brand-light": FormControl<string>;
    "brand-primary": FormControl<string>;
    "c8y-brand-10": FormControl<string>;
    "c8y-brand-20": FormControl<string>;
    "c8y-brand-30": FormControl<string>;
    "c8y-brand-40": FormControl<string>;
    "c8y-brand-50": FormControl<string>;
    "c8y-brand-60": FormControl<string>;
    "c8y-brand-70": FormControl<string>;
    "c8y-brand-80": FormControl<string>;
    "palette-status-info": FormControl<string>;
    "palette-status-warning": FormControl<string>;
    "palette-status-success": FormControl<string>;
    "palette-status-danger": FormControl<string>;
    "palette-status-info-light": FormControl<string>;
    "palette-status-warning-light": FormControl<string>;
    "palette-status-success-light": FormControl<string>;
    "palette-status-danger-light": FormControl<string>;
    "palette-status-info-dark": FormControl<string>;
    "palette-status-warning-dark": FormControl<string>;
    "palette-status-success-dark": FormControl<string>;
    "palette-status-danger-dark": FormControl<string>;
    "body-background-color": FormControl<string>;
    "text-color": FormControl<string>;
    "text-muted": FormControl<string>;
    "link-color": FormControl<string>;
    "link-hover-color": FormControl<string>;
    "action-bar-background-default": FormControl<string>;
    "action-bar-color-actions-hover": FormControl<string>;
    "action-bar-color-actions": FormControl<string>;
    "action-bar-color-default": FormControl<string>;
    "action-bar-icon-color": FormControl<string>;
    "header-color": FormControl<string>;
    "header-text-color": FormControl<string>;
    "header-hover-color": FormControl<string>;
    "navigator-bg-color": FormControl<string>;
    "navigator-active-bg": FormControl<string>;
    "navigator-border-active": FormControl<string>;
    "navigator-header-bg": FormControl<string>;
    "navigator-title-color": FormControl<string>;
    "navigator-separator-color": FormControl<string>;
    "navigator-text-color": FormControl<string>;
    "navigator-color-active": FormControl<string>;
    "right-drawer-background-default": FormControl<string>;
    "right-drawer-text-color-default": FormControl<string>;
    "right-drawer-separator-color": FormControl<string>;
    "right-drawer-link-color": FormControl<string>;
    "right-drawer-link-color-hover": FormControl<string>;
    "right-drawer-text-muted": FormControl<string>;
}>;
export {};
//# sourceMappingURL=branding.type.d.ts.map