///
import { ToastAction, ToastVariants, ToastActionType } from '../Toast/types';
import { DefaultAttributes } from '../../types';
export declare type MessageContextType = {
compact: MessageMethods;
default: MessageMethods;
} & MessageMethods;
export declare type MessageMethods = {
clear: () => void;
custom: (message: string, options?: Partial) => void;
error: (message: string, options?: Partial) => void;
info: (message: string, options?: Partial) => void;
success: (message: string, options?: Partial) => void;
warning: (message: string, options?: Partial) => void;
};
export declare type MessagePosition = 'bottom' | 'bottom-left' | 'bottom-right' | 'top' | 'top-left' | 'top-right';
export declare type ToastType = 'compact' | 'default';
declare type BaseOptions = DefaultAttributes & {
action: ToastActionType;
autoHideDuration: number;
toastType: ToastType;
};
export declare type ProviderOptions = BaseOptions & {
position: MessagePosition;
zIndex?: number;
};
export declare type MessageOptions = BaseOptions & {
variant: ToastVariants;
icon?: React.ReactNode;
primaryAction?: ToastAction;
dismissAction?: ToastAction;
};
export declare type Message = {
id: string;
message: string;
onClose: () => void;
} & MessageOptions;
export declare type MessageAction = {
type: 'add';
message: Message;
} | {
type: 'remove';
messageId: string;
} | {
type: 'clear';
};
export {};