import { ThemePalette } from '@angular/material/core';
import { MatSliderDragEvent } from '@angular/material/slider';
import { NgmAppearance } from '@metad/ocap-angular/core';
import { CubeParameterEnum, DataSettings, DisplayBehaviour, FilterSelectionType, IMember, ISlicer, ParameterProperty } from '@metad/ocap-core';
import * as i0 from "@angular/core";
export interface ParameterOptions {
    /**
     * Single or multiple selection of parameter's members
     */
    selectionType?: FilterSelectionType;
    /**
     * Use slider component for number type input parameter
     */
    slider?: boolean;
    sliderStep?: number;
    sliderMin?: number;
    sliderMax?: number;
    showThumbLabel?: boolean;
    showTickMarks?: boolean;
    sliderColor?: ThemePalette;
}
export declare class NgmParameterComponent {
    eCubeParameterEnum: typeof CubeParameterEnum;
    private dsCoreService;
    readonly dataSettings: import("@angular/core").InputSignal<DataSettings>;
    private dataSettings$;
    readonly parameter: import("@angular/core").ModelSignal<ParameterProperty>;
    readonly parameter$: import("rxjs").Observable<ParameterProperty>;
    readonly displayBehaviour: import("@angular/core").InputSignal<DisplayBehaviour>;
    readonly options: import("@angular/core").InputSignal<ParameterOptions>;
    readonly appearance: import("@angular/core").InputSignal<NgmAppearance>;
    readonly parameterChange: import("@angular/core").OutputEmitterRef<ParameterProperty>;
    get multiple(): boolean;
    get paramType(): CubeParameterEnum | import("@metad/ocap-core").ParameterControlEnum;
    readonly members: import("@angular/core").WritableSignal<import("@metad/ocap-core").Member[]>;
    private readonly dataSource$;
    readonly dataSource: import("@angular/core").Signal<import("@metad/ocap-core").DataSource>;
    readonly dimension$: import("rxjs").Observable<Partial<ParameterProperty>>;
    readonly members$: import("rxjs").Observable<IMember[]>;
    readonly availableMembers$: import("rxjs").Observable<IMember[]>;
    readonly variableProperty: import("@angular/core").Signal<import("@metad/ocap-core").VariableProperty>;
    readonly entitySet: import("@angular/core").Signal<string>;
    readonly _parameters: import("@angular/core").Signal<Record<string, any>>;
    readonly parameterValue: import("@angular/core").WritableSignal<any>;
    readonly valueList: import("@angular/core").WritableSignal<any[]>;
    readonly availableMembers: import("@angular/core").Signal<IMember[]>;
    slicer: {};
    compareWith(a: IMember, b: IMember): boolean;
    updateParameterValue(event: any): void;
    onSlicerChange(slicer: ISlicer): void;
    onSlicerEnd(event: MatSliderDragEvent): void;
    onBlur(event: FocusEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmParameterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmParameterComponent, "ngm-parameter", never, { "dataSettings": { "alias": "dataSettings"; "required": false; "isSignal": true; }; "parameter": { "alias": "parameter"; "required": false; "isSignal": true; }; "displayBehaviour": { "alias": "displayBehaviour"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, { "parameter": "parameterChange"; "parameterChange": "parameterChange"; }, never, never, true, never>;
}
