import { ObservableEventEmitter } from '@streamr/utils';
import { StreamCreationEvent } from './contracts/StreamRegistry';
import { StorageNodeAssignmentEvent } from './contracts/StreamStorageRegistry';
import { StreamMessage } from './protocol/StreamMessage';
export interface StreamrClientEvents {
    streamCreated: (payload: StreamCreationEvent) => void;
    streamAddedToStorageNode: (payload: StorageNodeAssignmentEvent) => void;
    streamRemovedFromStorageNode: (payload: StorageNodeAssignmentEvent) => void;
}
export interface InternalEvents {
    messagePublished: (message: StreamMessage) => void;
    streamPartSubscribed: () => void;
}
export declare class StreamrClientEventEmitter extends ObservableEventEmitter<StreamrClientEvents & InternalEvents> {
}
