import { EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { NgmDSCoreService } from '@metad/ocap-angular/core';
import { DisplayBehaviour, ISlicer } from '@metad/ocap-core';
import { BehaviorSubject } from 'rxjs';
import { BaseSlicersComponent } from '../base-slicers';
import { SlicersCapacity } from '../types';
import * as i0 from "@angular/core";
export declare class SlicersComponent extends BaseSlicersComponent implements OnInit, ControlValueAccessor {
    DisplayBehaviour: typeof DisplayBehaviour;
    SlicersCapacity: typeof SlicersCapacity;
    readonly dsCoreService: NgmDSCoreService;
    get slicers(): ISlicer[];
    set slicers(value: ISlicer[]);
    slicers$: BehaviorSubject<ISlicer[]>;
    readonly inline: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
    limit: number;
    capacities: SlicersCapacity[];
    valueChange: EventEmitter<ISlicer[]>;
    searchControl: FormControl<string>;
    get highlight(): string;
    get showCombinationSlicer(): boolean;
    get showAdvancedSlicer(): boolean;
    readonly dimensions$: import("rxjs").Observable<import("@metad/ocap-core").Property[]>;
    onChange: (input: any) => void;
    isDisabled: boolean;
    private entityTypeSub;
    ngOnInit(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    openSlicerBar(event: any): Promise<void>;
    update(value: ISlicer, index: number): void;
    remove(index: number): void;
    addSlicer(slicer: ISlicer): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SlicersComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SlicersComponent, "ngm-slicers", never, { "dataSettings": { "alias": "dataSettings"; "required": false; }; "slicers": { "alias": "slicers"; "required": false; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "limit": { "alias": "limit"; "required": false; }; "capacities": { "alias": "capacities"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
}
