import { SelectionModel } from '@angular/cdk/collections';
import { ControlValueAccessor } from '@angular/forms';
import { ISelectOption } from '@metad/ocap-angular/core';
import { ITagOption } from './types';
import * as i0 from "@angular/core";
import * as i1 from "@metad/ocap-angular/core";
export declare class NgmTagsComponent implements ControlValueAccessor {
    tags: ITagOption<string>[];
    exclude: boolean;
    color: 'primary' | 'blue' | 'green' | 'yellow' | 'red' | 'gray';
    get selectable(): string | boolean;
    set selectable(value: string | boolean);
    private _selectable;
    get disabled(): string | boolean;
    set disabled(value: string | boolean);
    private _disabled;
    get multiple(): string | boolean;
    set multiple(value: string | boolean);
    private _multiple;
    selection: SelectionModel<string>;
    selectedChange: import("rxjs").Observable<string[]>;
    _onChange: (value: any) => void;
    _onTouched: () => void;
    private selectedSub;
    toggleTag(tag: ISelectOption<string>): void;
    isSelected(tag: ISelectOption<string>): boolean;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmTagsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmTagsComponent, "ngm-tags", never, { "tags": { "alias": "tags"; "required": false; }; "exclude": { "alias": "exclude"; "required": false; }; "color": { "alias": "color"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, true, [{ directive: typeof i1.NgmDensityDirective; inputs: { "small": "small"; "large": "large"; "ngm-density": "ngm-density"; }; outputs: {}; }]>;
}
