import { Auth, Connection, HassConfig, HassEntities, HassEntity, HassServices, HassServiceTarget, MessageBase } from 'home-assistant-js-websocket'; import { FrontendLocaleData } from './data/translation'; import { Themes, ThemeSettings } from './data/ws-themes'; interface Resources { [language: string]: Record; } interface Context { id: string; parent_id?: string; user_id?: string | null; } interface ServiceCallResponse { context: Context; response?: any; } interface ServiceCallRequest { domain: string; service: string; serviceData?: Record; target?: HassServiceTarget; } export interface HomeAssistant { auth: Auth & { external?: any; }; connection: Connection; connected: boolean; states: HassEntities; entities: { [id: string]: any; }; devices: { [id: string]: any; }; areas: { [id: string]: any; }; services: HassServices; config: HassConfig; themes: Themes; selectedTheme: ThemeSettings | null; panels: any; panelUrl: string; language: string; selectedLanguage: string | null; locale: FrontendLocaleData; resources: Resources; localize: any; translationMetadata: any; suspendWhenHidden: boolean; enableShortcuts: boolean; vibrate: boolean; debugConnection: boolean; dockedSidebar: 'docked' | 'always_hidden' | 'auto'; defaultPanel: string; moreInfoEntityId: string | null; user?: any; userData?: any; hassUrl(path?: any): string; callService(domain: ServiceCallRequest['domain'], service: ServiceCallRequest['service'], serviceData?: ServiceCallRequest['serviceData'], target?: ServiceCallRequest['target'], notifyOnError?: boolean, returnResponse?: boolean): Promise; callApi(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, parameters?: Record, headers?: Record): Promise; fetchWithAuth(path: string, init?: Record): Promise; sendWS(msg: MessageBase): void; callWS(msg: MessageBase): Promise; formatEntityState(stateObj: HassEntity, state?: string): string; formatEntityAttributeValue(stateObj: HassEntity, attribute: string, value?: any): string; formatEntityAttributeName(stateObj: HassEntity, attribute: string): string; } /** Return if a component is loaded. */ export declare const isComponentLoaded: (hass: HomeAssistant, component: string) => boolean; export {};