/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { IChipAdapter } from './chip-adapter';
import { ChipTheme, ChipType } from './chip-constants';
export interface IChipFoundation extends ICustomElementFoundation {
    type: ChipType;
    value: unknown;
    selected: boolean;
    invalid: boolean;
    disabled: boolean;
    dense: boolean;
    theme: ChipTheme;
    href: string;
    target: string;
    download: string;
    rel: string;
    focus(options?: FocusOptions): void;
    focusRemoveButton(): void;
    click(): void;
}
export declare class ChipFoundation implements IChipFoundation {
    private _adapter;
    private _type;
    private _value;
    private _selected;
    private _invalid;
    private _disabled;
    private _dense;
    private _theme;
    private _href;
    private _target;
    private _download;
    private _rel;
    private _clickListener;
    private _keydownListener;
    constructor(_adapter: IChipAdapter);
    initialize(): void;
    focus(options?: FocusOptions): void;
    focusRemoveButton(): void;
    click(): void;
    private _attachListeners;
    private _detachListeners;
    private _tryInheritChipSetState;
    private _onClick;
    private _onKeydown;
    private _tryNavigate;
    private _isRemoveButton;
    private _handleSelectInteraction;
    private _dispatchSelectEvent;
    private _dispatchDeleteEvent;
    private _applyType;
    private _applySelected;
    get type(): ChipType;
    set type(value: ChipType);
    get value(): unknown;
    set value(value: unknown);
    get selected(): boolean;
    set selected(value: boolean);
    get invalid(): boolean;
    set invalid(value: boolean);
    get disabled(): boolean;
    set disabled(value: boolean);
    get dense(): boolean;
    set dense(value: boolean);
    get theme(): ChipTheme;
    set theme(value: ChipTheme);
    get href(): string;
    set href(value: string);
    get target(): string;
    set target(value: string);
    get download(): string;
    set download(value: string);
    get rel(): string;
    set rel(value: string);
}
