soundtouch-api
Version:
SoundTouch API using TypeScript
53 lines (52 loc) • 1.87 kB
TypeScript
import { Info } from './info';
import { PlayInfo } from './play-info';
import { KeyValue } from './special-types';
import { NowPlaying } from './now-playing';
import { Volume } from './volume';
import { Sources } from './source';
import { Zone } from './zone';
import { BassCapabilities } from './bass-capabilities';
import { Bass } from './bass';
import { Preset } from './preset';
import { Group } from './group';
import { ContentItem } from './content-item';
export interface Device {
ip: string;
port: number;
name: string;
host?: string;
mac?: string;
manufacturer?: string;
model?: string;
}
export declare class API {
private readonly device;
private readonly builder;
private readonly axiosInstance;
constructor(device: Device);
getInfo(): Promise<Info | undefined>;
setVolume(value: number): Promise<boolean>;
getVolume(): Promise<Volume | undefined>;
speaker(playInfo: PlayInfo): Promise<boolean>;
pressKey(value: KeyValue): Promise<boolean>;
holdKey(value: KeyValue, duration?: number): Promise<boolean>;
getNowPlaying(): Promise<NowPlaying | undefined>;
selectSource(contentItem: ContentItem): Promise<boolean>;
getSources(): Promise<Sources | undefined>;
getZone(): Promise<Zone | undefined>;
setZone(zone: Zone): Promise<boolean>;
addZoneSlave(zone: Zone): Promise<boolean>;
removeZoneSlave(zone: Zone): Promise<boolean>;
getBassCapabilities(): Promise<BassCapabilities | undefined>;
getBass(): Promise<Bass | undefined>;
setBass(value: number): Promise<boolean>;
getPresets(): Promise<Preset[] | undefined>;
setName(value: string): Promise<Info | undefined>;
getGroup(): Promise<Group | undefined>;
private static _throwAPIErrors;
private _req;
private _get;
private _post;
private _key;
private _updateZone;
}