interface SseSubscriber {
    readonly userId?: string;
    readonly isAdmin: boolean;
    readonly send: (event: string, data: unknown) => void;
}
export declare class StudioSseHub {
    private readonly subscribers;
    subscribe(subscriber: SseSubscriber): () => void;
    broadcastToUser(userId: string, event: string, data: unknown): void;
    broadcastToAdmins(event: string, data: unknown, options?: {
        readonly excludeUserId?: string;
    }): void;
    broadcastPublic(event: string, data: unknown): void;
    broadcastForJob(job: {
        readonly userId: string;
    }, event: string, data: unknown): void;
}
export {};
//# sourceMappingURL=sse.d.ts.map