import { WebMediaInfo } from "web-demuxer";
type Events = {
    type: "config";
    config: {
        audio: AudioDecoderConfig;
        video: VideoDecoderConfig;
    };
} | {
    type: "info";
    data: WebMediaInfo;
} | {
    type: "encoderQueueSize";
    size: number;
};
type Handler = (event: Events) => void;
export declare class Machina {
    #private;
    count: number;
    register(id: number, handler: Handler): void;
    unregister(id: number): void;
    dispatch(id: number, event: Events): void;
}
export {};
