import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { BaseDetailComponent, CustomFieldConfig, ModalService, Permission } from '@ishop/admin-ui/core';
import { Channel, CurrencyCode, GetZones, LanguageCode } from '@ishop/admin-ui/core';
import { NotificationService } from '@ishop/admin-ui/core';
import { Asset, DataService } from '@ishop/admin-ui/core';
import { ServerConfigService } from '@ishop/admin-ui/core';
import { Observable } from 'rxjs';
export declare class ChannelDetailComponent extends BaseDetailComponent<Channel.Fragment> implements OnInit, OnDestroy {
    protected serverConfigService: ServerConfigService;
    private changeDetector;
    protected dataService: DataService;
    private formBuilder;
    private notificationService;
    private modalService;
    customFields: CustomFieldConfig[];
    zones$: Observable<GetZones.Zones[]>;
    detailForm: FormGroup;
    currencyCodes: CurrencyCode[];
    availableLanguageCodes$: Observable<LanguageCode[]>;
    assetChanges: {
        assets?: Asset[];
        featuredAsset?: Asset;
    };
    readonly updatePermission: Permission[];
    constructor(router: Router, route: ActivatedRoute, serverConfigService: ServerConfigService, changeDetector: ChangeDetectorRef, dataService: DataService, formBuilder: FormBuilder, notificationService: NotificationService, modalService: ModalService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    customFieldIsSet(name: string): boolean;
    saveButtonEnabled(): boolean;
    assetsChanged(): boolean;
    create(): void;
    save(): void;
    /**
     * Update the form values when the entity changes.
     */
    protected setFormValues(entity: Channel.Fragment, languageCode: LanguageCode): void;
    private generateToken;
    addToCategory(): void;
    removeFromCategory(group: any): void;
}
