import { ControlValueAccessor, FormBuilder } from '@angular/forms';
import { MessageBannerService } from '@c8y/ngx-components';
import { BrandingOptionsJson } from '@c8y/ngx-components/branding/shared/data';
import * as i0 from "@angular/core";
export declare class BrandingFormComponent implements ControlValueAccessor {
    private formBuilder;
    private messageBannerService;
    formGroup: ReturnType<BrandingFormComponent['initForm']>;
    messageBannerHelp: "Supports markdown. Use {{ headerMark }} for headers, {{ listMark }} for lists, {{ boldMark }} for bold, {{ italicMark }} for italic, and {{ linkMark }} for links.";
    messageBannerHelpParams: {
        headerMark: string;
        listMark: string;
        boldMark: string;
        italicMark: string;
        linkMark: string;
    };
    private onTouched;
    private externalValue;
    private formGroupValueChanges$;
    constructor(formBuilder: FormBuilder, messageBannerService: MessageBannerService);
    writeValue(obj: string): void;
    registerOnChange(fn: (value: string) => void): void;
    registerOnTouched(fn: () => void): void;
    cockieBannerChange(toggleState: boolean): void;
    onBlur(): void;
    initForm(): import("@angular/forms").FormGroup<{
        darkThemeAvailable: import("@angular/forms").FormControl<boolean>;
        cookieBanner: import("@angular/forms").FormGroup<{
            cookieBannerTitle: import("@angular/forms").FormControl<string>;
            cookieBannerText: import("@angular/forms").FormControl<string>;
            cookieBannerDisabled: import("@angular/forms").FormControl<boolean>;
            policyUrl: import("@angular/forms").FormControl<string>;
            policyVersion: import("@angular/forms").FormControl<string>;
        }>;
        messageBanner: import("@angular/forms").FormGroup<{
            messageBannerEnabled: import("@angular/forms").FormControl<boolean>;
            messageBannerContent: import("@angular/forms").FormControl<string>;
            messageBannerType: import("@angular/forms").FormControl<"success" | "warning" | "danger" | "info" | "system">;
        }>;
        baseTypography: import("@angular/forms").FormGroup<{
            "font-url": import("@angular/forms").FormControl<string>;
            "font-family-base": import("@angular/forms").FormControl<string>;
        }>;
        headingsAndNavigatorTypography: import("@angular/forms").FormGroup<{
            "font-family-headings": import("@angular/forms").FormControl<string>;
            "navigator-font-family": import("@angular/forms").FormControl<string>;
        }>;
        genericApplicationOptions: import("@angular/forms").FormGroup<{
            globalTitle: import("@angular/forms").FormControl<string>;
            faviconUrl: import("@angular/forms").FormControl<string>;
        }>;
    }>;
    applyStateToForm(branding: BrandingOptionsJson): void;
    convertFormToState(value: BrandingFormComponent['formGroup']['value']): string;
    previewBanner(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BrandingFormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BrandingFormComponent, "c8y-branding-form", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=branding-form.component.d.ts.map