import { StoreBrandingService } from '@c8y/ngx-components/branding/shared/data';
import { FormBuilder } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class AddBrandingModalComponent {
    private branding;
    private formBuilder;
    duplicateBranding: boolean;
    form: ReturnType<typeof this.initForm>;
    namesAlreadyTaken: string[];
    loading: boolean;
    result: Promise<Partial<{
        brandingName: string;
    }>>;
    messages: readonly [{
        readonly name: "nameAlreadyTaken";
        readonly text: "The provided name is already taken.";
    }, {
        readonly name: "onlyLowerCaseCharacters";
        readonly text: "Only lower case characters are allowed.";
    }, {
        readonly name: "shouldStartWithLowerCaseLetterOrNumber";
        readonly text: "Should start with a lower case letter or a number.";
    }, {
        readonly name: "invalidCharacters";
        readonly text: "Invalid character \"{{ invalidCharacter }}\". Only a-z, 0-9 and - are allowed.";
    }];
    private _resovle;
    private _reject;
    constructor(branding: StoreBrandingService, formBuilder: FormBuilder);
    getExistingBrandingVersions(): Promise<void>;
    initForm(): import("@angular/forms").FormGroup<{
        brandingName: import("@angular/forms").FormControl<string>;
    }>;
    cancel(): void;
    save(): void;
    private ensureNotExistingName;
    private ensureProperVariantName;
    static ɵfac: i0.ɵɵFactoryDeclaration<AddBrandingModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AddBrandingModalComponent, "c8y-add-branding-modal", never, { "duplicateBranding": { "alias": "duplicateBranding"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=add-branding-modal.component.d.ts.map