import React from "react"; import { AlertProps } from "../Alert"; import { Grow } from "../Transitions/Grow"; declare type SnackbarID = number | string; declare type vert = "top" | "bottom"; declare type horz = "left" | "right" | "center"; export declare type SnackbarPlacement = `${vert}-${horz}`; export declare type SnackbarItem = AlertProps & { id?: SnackbarID; placement?: SnackbarPlacement; open: boolean; message: string; autoHideDuration?: number; disableAutoHide?: boolean; TransitionComponent?: typeof Grow; }; declare type SnackbarStore = { [Place in SnackbarPlacement]: SnackbarItem[]; }; interface SnackbarProviderFace { bars: SnackbarStore; onClear: () => void; onDestroy: (id: SnackbarID) => void; onClose: (id: SnackbarID) => void; push: (message: string, config: AlertProps & { placement: SnackbarPlacement; }) => SnackbarID; defaults?: { duration: number; placement: SnackbarPlacement; maxSnack: number; }; TransitionComponent?: typeof Grow; } declare type SnackbarContextValues = Pick; export declare const SnackbarContext: React.Context; export declare const useSnackbar: () => SnackbarContextValues; export declare const SnackbarProvider: React.FC>; export {};