import type { ServerWebSocket } from "bun";
import { ServiceContainer } from "../ServiceContainer";
import { BroadcastingServiceProvider } from "./BroadcastingServiceProvider";
import type { PublishArgs } from "./types";
import { AsyncLocalStorage } from "async_hooks";
type PublishCallback = (...args: PublishArgs) => void;
export declare class BroadcastingServiceContainer extends ServiceContainer {
    service: BroadcastingServiceProvider;
    static _name: string;
    publishCb: PublishCallback;
    context: AsyncLocalStorage<{
        headers: Headers;
        cookies: Map<string, string>;
    }>;
    constructor(service: BroadcastingServiceProvider);
    onPublish(cb: PublishCallback): void;
    publish(...args: PublishArgs): void;
    handleMessage(ws: ServerWebSocket<{
        headers: Headers;
    }>, message: string | Buffer): Promise<void>;
    run(headers: Headers, fn: VoidFunction): void;
}
export {};
//# sourceMappingURL=BroadcastingServiceContainer.d.ts.map