import { OnChanges, EventEmitter, SimpleChanges } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import { ChangeDetectorRef, QueryList } from "@angular/core";
import { DxcChipPrefixIconComponent } from "./dxc-chip-prefix-icon/dxc-chip-prefix-icon.component";
import { DxcChipSuffixIconComponent } from "./dxc-chip-suffix-icon/dxc-chip-suffix-icon.component";
import { ChipProperties, Space, Spacing } from "./dxc-chip.types";
import * as i0 from "@angular/core";
export declare class DxcChipComponent implements OnChanges {
    private utils;
    private cdRef;
    className: any;
    hasTabIndexPrefix: boolean;
    hasTabIndexSuffix: boolean;
    /**
     * Text to be placed inside the chip.
     */
    label: string;
    /**
     * @deprecated. Path of the icon to be placed after the label.
     */
    suffixIconSrc: string;
    /**
     * @deprecated. Path of the icon to be placed before the label.
     */
    prefixIconSrc: string;
    /**
     * If true, the component will be disabled.
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    /**
     * Size of the margin to be applied to the component
     * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
     * in order to specify different margin sizes.
     */
    margin: Space | Spacing;
    /**
     * Event that will be emitted when the suffix icon is clicked.
     */
    suffixIconClick: EventEmitter<void>;
    /**
     * Event that will be emitted when the prefix icon is clicked.
     */
    prefixIconClick: EventEmitter<void>;
    /**
     * Element used as icon to be placed before the chip label.
     */
    dxcChipPrefixIcon: QueryList<DxcChipPrefixIconComponent>;
    /**
     * Element used as icon to be placed after the chip label.
     */
    dxcChipSuffixIcon: QueryList<DxcChipSuffixIconComponent>;
    /**
     * Value of the tabindex, it also applies to prefix and suffix icons when a function is given.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    defaultInputs: BehaviorSubject<ChipProperties>;
    constructor(utils: CssUtils, cdRef: ChangeDetectorRef);
    ngAfterViewInit(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    handlePrefrixClick(): void;
    handleSuffixClick(): void;
    handlePrefrixKey($event: any): void;
    handleSuffixKey($event: any): void;
    getDisabledStyleSuffixIcon(disabled: any): string;
    getDisabledStylePrefixIcon(disabled: any): string;
    getDynamicStyle(inputs: any): string;
    private getMarginLeft;
    private getMarginRight;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcChipComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcChipComponent, "dxc-chip", never, { "label": "label"; "suffixIconSrc": "suffixIconSrc"; "prefixIconSrc": "prefixIconSrc"; "disabled": "disabled"; "margin": "margin"; "tabIndexValue": "tabIndexValue"; }, { "suffixIconClick": "suffixIconClick"; "prefixIconClick": "prefixIconClick"; }, ["dxcChipPrefixIcon", "dxcChipSuffixIcon"], ["dxc-chip-prefix-icon", "dxc-chip-suffix-icon"]>;
}
//# sourceMappingURL=dxc-chip.component.d.ts.map