import { Identifiable, Store } from '../../store/store';
import { PersistedObservable } from '../../observable/persistedObservable';
import { UserMemberships } from '../user/models/userMemberships';
import { RiverConnection } from '../river-connection/riverConnection';
import type { Client } from '../../client';
import { Dm } from './models/dm';
export interface DmsModel extends Identifiable {
    id: '0';
    streamIds: string[];
}
export declare class Dms extends PersistedObservable<DmsModel> {
    private riverConnection;
    private userMemberships;
    private dms;
    constructor(store: Store, riverConnection: RiverConnection, userMemberships: UserMemberships);
    protected onLoaded(): void;
    getDm(streamId: string): Dm;
    getDmWithUserId(userId: string): Dm;
    private onUserMembershipsChanged;
    createDM(...args: Parameters<Client['createDMChannel']>): Promise<{
        streamId: string;
    }>;
}
//# sourceMappingURL=dms.d.ts.map