import { ChimeData, ChimeUpdate, ChimeSoundKind, RingtoneOptions, ChimeHealth } from './ring-types'; import { RingRestClient } from './rest-client'; import { BehaviorSubject, Subject } from 'rxjs'; export declare class RingChime { private initialData; private restClient; id: number; deviceType: import("./ring-types").ChimeKind; model: string; onData: BehaviorSubject; onRequestUpdate: Subject; constructor(initialData: ChimeData, restClient: RingRestClient); updateData(update: ChimeData): void; requestUpdate(): void; get data(): ChimeData; get name(): string; get description(): string; get volume(): number; getRingtones(): Promise; getRingtoneByDescription(description: string, kind: ChimeSoundKind): Promise<{ user_id: string; id: string; description: string; kind: string; url: string; checksum: string; available: string; }>; chimeUrl(path?: string): string; playSound(kind: ChimeSoundKind): Promise; snooze(time: number): Promise; clearSnooze(): Promise; updateChime(update: ChimeUpdate): Promise; setVolume(volume: number): Promise; getHealth(): Promise; }