import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { ActivatedRoute, Router } from '@angular/router'; import { Asset, BaseDetailComponent, Collection, ConfigurableOperation, ConfigurableOperationDefinition, CustomFieldConfig, DataService, LanguageCode, ModalService, NotificationService, Permission, ServerConfigService } from '@ishop/admin-ui/core'; import { CollectionContentsComponent } from '../collection-contents/collection-contents.component'; export declare class CollectionDetailComponent extends BaseDetailComponent implements OnInit, OnDestroy { private changeDetector; protected dataService: DataService; private formBuilder; private notificationService; private modalService; customFields: CustomFieldConfig[]; detailForm: FormGroup; assetChanges: { assets?: Asset[]; featuredAsset?: Asset; }; filters: ConfigurableOperation[]; allFilters: ConfigurableOperationDefinition[]; readonly updatePermission: Permission[]; contentsComponent: CollectionContentsComponent; constructor(router: Router, route: ActivatedRoute, serverConfigService: ServerConfigService, changeDetector: ChangeDetectorRef, dataService: DataService, formBuilder: FormBuilder, notificationService: NotificationService, modalService: ModalService); ngOnInit(): void; ngOnDestroy(): void; getFilterDefinition(filter: ConfigurableOperation): ConfigurableOperationDefinition | undefined; customFieldIsSet(name: string): boolean; assetsChanged(): boolean; /** * If creating a new Collection, automatically generate the slug based on the collection name. */ updateSlug(nameValue: string): void; addFilter(collectionFilter: ConfigurableOperation): void; removeFilter(collectionFilter: ConfigurableOperation): void; create(): void; save(): void; canDeactivate(): boolean; /** * Sets the values of the form on changes to the category or current language. */ protected setFormValues(entity: Collection.Fragment, languageCode: LanguageCode): void; /** * Given a category and the value of the form, this method creates an updated copy of the category which * can then be persisted to the API. */ private getUpdatedCollection; /** * Maps an array of conditions or actions to the input format expected by the GraphQL API. */ private mapOperationsToInputs; }