import { ElementType, ReactElement, ReactNode } from 'react';
import { LabelIntent, LabelProps } from '../Label';
import { ToastPropsWithKey } from './Toaster';
export interface GroupConfig {
    groupKey: string;
    intent: LabelIntent;
    closable?: boolean;
    renderHeaderLabel?: (group: Group, labelProps: LabelProps<ElementType>) => ReactElement;
    renderHeaderLabelTitle?: (group: Group) => ReactNode;
    renderHeaderLabelTooltip?: (group: Group) => ReactNode;
}
export interface GroupInfo {
    count: number;
    keys: string[];
}
export type Group = GroupConfig & GroupInfo;
type Options = {
    toasts: ToastPropsWithKey[];
    groupConfigs?: GroupConfig[];
};
export declare const getGroups: ({ toasts, groupConfigs }: Options) => {
    count: number;
    keys: string[];
    groupKey: string;
    intent: LabelIntent;
    closable?: boolean;
    renderHeaderLabel?: (group: Group, labelProps: LabelProps<ElementType>) => ReactElement;
    renderHeaderLabelTitle?: (group: Group) => ReactNode;
    renderHeaderLabelTooltip?: (group: Group) => ReactNode;
}[];
export {};
