import { Factory } from '../../../core';
export interface ChipGroupProps<Multiple extends boolean = false, Value extends string = string> {
    /** If set, multiple values can be selected */
    multiple?: Multiple;
    /** Controlled component value */
    value?: Multiple extends true ? Value[] : Value | null;
    /** Uncontrolled component initial value */
    defaultValue?: Multiple extends true ? Value[] : Value | null;
    /** Called when value changes. If `multiple` prop is set, called with an array of selected values. If not, called with a string value of selected chip. */
    onChange?: (value: Multiple extends true ? Value[] : Value) => void;
    /** `Chip` components and any other elements */
    children?: React.ReactNode;
}
export type ChipGroupFactory = Factory<{
    props: ChipGroupProps;
    signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}>;
export declare const ChipGroup: (<Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element) & import("../../..").ThemeExtend<{
    props: ChipGroupProps;
    signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}> & import("../../..").ComponentClasses<{
    props: ChipGroupProps;
    signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}> & Record<string, never> & import("../../..").FactoryComponentWithProps<{
    props: ChipGroupProps;
    signature: <Multiple extends boolean = false, Value extends string = string>(props: ChipGroupProps<Multiple, Value>) => React.JSX.Element;
}> & {
    displayName?: string;
};
export interface ChipGroupContextValue<Value extends string = string> {
    isChipSelected: (value: Value) => boolean;
    onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
    multiple: boolean | undefined;
}
export declare const ChipGroupContext: import("react").Context<ChipGroupContextValue<string> | null>;
