type Position = "auto" | "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
type ToastState = {
    id: string;
    open: boolean;
    title?: string;
    description?: string;
    duration: number;
    actionLabel?: string;
    onAction?: () => void;
    onClose?: () => void;
    variant?: "default" | "success" | "error" | "info";
    render?: (props: {
        close: () => void;
        action?: () => void;
    }) => React.ReactNode;
    position: Position;
    iconLeft?: React.ComponentType<any>;
    iconRight?: React.ComponentType<any>;
    onToastPress?: () => void;
};
export declare const toast: {
    show: (title: string, description?: string, options?: {
        duration?: number;
        actionLabel?: string;
        onAction?: () => void;
        onClose?: () => void;
        variant?: "default" | "success" | "error" | "info";
        position?: Position;
        iconLeft?: React.ComponentType<any>;
        iconRight?: React.ComponentType<any>;
        onToastPress?: () => void;
    }) => void;
    hide: (id?: string) => void;
    showManual: (render: (props: {
        close: () => void;
        action?: () => void;
    }) => React.ReactNode, options?: {
        duration?: number;
        actionLabel?: string;
        onAction?: () => void;
        onClose?: () => void;
        variant?: "default" | "success" | "error" | "info";
        position?: Position;
        iconLeft?: React.ComponentType<any>;
        iconRight?: React.ComponentType<any>;
        onToastPress?: () => void;
    }) => void;
};
export declare function useToast(): {
    show: (title: string, description?: string, options?: {
        duration?: number;
        actionLabel?: string;
        onAction?: () => void;
        onClose?: () => void;
        variant?: "default" | "success" | "error" | "info";
        position?: Position;
        iconLeft?: React.ComponentType<any>;
        iconRight?: React.ComponentType<any>;
        onToastPress?: () => void;
    }) => void;
    hide: (id?: string) => void;
    showManual: (render: (props: {
        close: () => void;
        action?: () => void;
    }) => React.ReactNode, options?: {
        duration?: number;
        actionLabel?: string;
        onAction?: () => void;
        onClose?: () => void;
        variant?: "default" | "success" | "error" | "info";
        position?: Position;
        iconLeft?: React.ComponentType<any>;
        iconRight?: React.ComponentType<any>;
        onToastPress?: () => void;
    }) => void;
    toasts: ToastState[];
};
export declare function ToastProvider(): import("react/jsx-runtime").JSX.Element;
export declare function AndMore({ more }: {
    more: number;
}): import("react/jsx-runtime").JSX.Element;
type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
type ToastProps = PartialBy<Omit<ToastState, "id" | "open">, "position"> & {
    id?: string;
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    index?: number;
    isLatest?: boolean;
};
export declare function Toast({ open, onOpenChange, title, description, actionLabel, onAction, duration, index, isLatest, variant, render, position, id, iconLeft: IconLeft, iconRight: IconRight, onToastPress, }: ToastProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=toast.d.ts.map