import { MDCChipSet } from '@material/chips';
import MaterialComponent from '../Base/MaterialComponent';
import Icon from '../Icon';
export interface IChipProps {
    children?: Array<ChipText | ChipIcon | ChipCheckmark>;
    selected?: boolean;
}
export interface IChipState {
}
export declare class Chip extends MaterialComponent<IChipProps, IChipState> {
    protected componentName: string;
    protected mdcProps: string[];
    protected materialDom(allprops: any): JSX.Element;
}
export interface IChipIconProps {
    leading?: boolean;
    trailing?: boolean;
}
export interface IChipIconState {
}
export declare class ChipIcon extends Icon<IChipIconProps, IChipIconState> {
    protected componentName: string;
    protected mdcProps: string[];
    protected materialDom(allprops: any): JSX.Element;
}
export declare class ChipCheckmark extends Icon {
    protected componentName: string;
    protected mdcProps: never[];
    protected materialDom(props: any): JSX.Element;
}
export interface IChipTextProps {
}
export interface IChipTextState {
}
export declare class ChipText extends MaterialComponent<IChipTextProps, IChipTextState> {
    protected componentName: string;
    protected mdcProps: never[];
    protected materialDom(allprops: any): JSX.Element;
}
export interface IChipSetProps {
    children?: Chip[];
    choice?: boolean;
    filter?: boolean;
    input?: boolean;
}
export interface IChipSetState {
}
export declare class ChipSet extends MaterialComponent<IChipSetProps, IChipSetState> {
    MDComponent?: MDCChipSet;
    protected componentName: string;
    protected mdcProps: string[];
    componentDidMount(): void;
    componentWillUnmount(): void;
    protected materialDom(allprops: any): JSX.Element;
}
export default class extends ChipSet {
    static readonly Chip: typeof Chip;
    static readonly Icon: typeof ChipIcon;
    static readonly Text: typeof ChipText;
    static readonly Checkmark: typeof ChipCheckmark;
}
