import Echo from "laravel-echo";
import { Task } from "../../types/Task";
import { CategoryGroupCounting } from "../../types/Category";
import { Manager } from "../../../../types/Manager";
export declare type onCreateTask = (payload: {
    task: Task;
}) => void;
export declare type onUpdateTask = (payload: {
    task: Task;
}) => void;
export declare type onDeleteTask = (payload: {
    task: Task;
}) => void;
export declare type onUpdateCounting = (payload: {
    categories: CategoryGroupCounting;
}) => void;
export declare enum Events {
    updateTask = "TaskUpdated",
    createTask = "TaskCreated",
    deleteTask = "TaskDeleted",
    updateCounting = "CategoriesGroupUpdate"
}
declare class WebsocketService {
    client: Echo;
    user: Manager;
    init(bearerToken: string, user: Manager): void;
    onCreateTask(cb: onCreateTask): void;
    onUpdateTask(cb: onUpdateTask): void;
    onDeleteTask(cb: onDeleteTask): void;
    onUpdateCounting(cb: onUpdateCounting): void;
    private getBroadcastChannel;
}
declare const _default: WebsocketService;
export default _default;
