import { JDBus } from "../jdom/bus"; import { JDServiceServer } from "../jdom/servers/serviceserver"; import { JDServiceProvider } from "../jdom/servers/serviceprovider"; import { PackedSimpleValue } from "../jdom/pack"; /** * @internal */ export declare const SG90_RESPONSE_SPEED = 0.12; /** * A factory for instantiation a simulated service server * @category Servers */ export interface ServiceProviderDefinition { /** * Name of the simulated device */ name: string; /** * List of service classes hosted by the provider */ serviceClasses: number[]; /** * Factory handler to instantiate simulated servers */ services: () => JDServiceServer[]; /** * Indicates if the simulated device should support resetId */ resetIn?: boolean; /** * Custom factory to wrap the services into a service provider */ factory?: (services: JDServiceServer[]) => JDServiceProvider; /** * Additional service options */ serviceOptions?: ServiceProviderOptions[]; } /** * Gets the list of simulated service providers * @category Servers */ export declare function serviceProviderDefinitions(): ServiceProviderDefinition[]; /** * Adds a new service provider definition * @param def */ export declare function addServiceProviderDefinition(def: ServiceProviderDefinition): void; export interface ServiceProviderOptions { serviceClass: number; serviceOffset?: number; constants: Record; } /** * Instantiates a new service provider instance and adds it to the bus * @category Servers */ export declare function addServiceProvider(bus: JDBus, definition: ServiceProviderDefinition, serviceOptions?: ServiceProviderOptions[]): JDServiceProvider; /** * Adds a single server device on the bus. * @param bus * @param name * @param server * @param serviceOptions * @returns */ export declare function addServer(bus: JDBus, name: string, server: JDServiceServer, serviceOptions?: ServiceProviderOptions[]): JDServiceProvider; /** * Finds the first service provider that supports the given service class * @category Servers */ export declare function serviceProviderDefinitionFromServiceClass(serviceClass: number): ServiceProviderDefinition; /** * Starts a service provider that hosts the given service class. * @category Servers */ export declare function startServiceProviderFromServiceClass(bus: JDBus, serviceClass: number): JDServiceProvider; //# sourceMappingURL=servers.d.ts.map