import { JDBus } from "../jdom/bus"; import { JDDevice } from "../jdom/device"; import { JDEvent } from "../jdom/event"; import { JDSubscriptionScope } from "../jdom/eventsource"; import { JDNode } from "../jdom/node"; import { JDRegister } from "../jdom/register"; import { JDService } from "../jdom/service"; import { DeviceTestSpec, ManualSteps, PanelTestSpec, TestResult, TestState, TestUploadState } from "./spec"; export declare const PANEL_TEST_KIND = "panelTest"; export declare const DEVICE_TEST_KIND = "deviceTest"; export declare const DEVICE_STATS_TEST_KIND = "deviceStatsTestKind"; export declare const STATUS_LIGHT_TEST_KIND = "statusLightTestKind"; export declare const SERVICE_TEST_KIND = "serviceTest"; export declare const SERVICE_COMMAND_TEST_KIND = "serviceCommandTest"; export declare const REGISTER_TEST_KIND = "registerTest"; export declare const EVENT_TEST_KIND = "eventTest"; export declare const REGISTER_ORACLE_KIND = "registerOracle"; export type TestLogger = (msg: string) => void; export declare abstract class TestNode extends JDNode { private _name; private _manualSteps; private readonly _id; private _parent; private _state; private _uploadState; private _output; private _node; private _children; protected readonly subscriptions: JDSubscriptionScope; constructor(_name: string, _manualSteps?: ManualSteps); get manualSteps(): ManualSteps; get description(): string; get name(): string; protected set name(value: string); get bus(): JDBus; get label(): string; get info(): string; get factory(): boolean; get uploadState(): TestUploadState; set uploadState(value: TestUploadState); get id(): string; get parent(): TestNode; private set parent(value); get node(): JDNode; set node(value: JDNode); private handleChange; private bindChildren; protected updateState(): void; prepared(): void; resolveOracle(reg: JDRegister): RegisterOracle; protected nodeState(): TestResult; protected mount(): void; protected unmount(): void; get children(): TestNode[]; get descendants(): TestNode[]; appendChild(child: TestNode): void; protected bind(): void; get qualifiedName(): string; get state(): TestState; set state(value: TestState); get output(): string; set output(value: string); protected computeChildrenState(): number; toString(): string; export(): object; protected customProperties(): object; } export declare class PanelTest extends TestNode { readonly specification: PanelTestSpec; constructor(id: string, specification: PanelTestSpec); get nodeKind(): string; get bus(): JDBus; set bus(value: JDBus); get factory(): boolean; get deviceTests(): DeviceTest[]; get label(): string; customProperties(): object; } export declare class DeviceTest extends TestNode { readonly productIdentifier: number; readonly specification: jdspec.DeviceSpec; readonly testSpecification: DeviceTestSpec; constructor(productIdentifier: number, specification: jdspec.DeviceSpec, testSpecification: DeviceTestSpec); get nodeKind(): string; get device(): JDDevice; set device(value: JDDevice); get bus(): JDBus; get factory(): boolean; get serviceTests(): ServiceTest[]; test(device: JDDevice): boolean; bind(): void; protected mount(): void; protected customProperties(): object; } export declare class DeviceStatsTest extends TestNode { constructor(); get description(): string; get nodeKind(): string; get device(): JDDevice; bind(): void; mount(): void; updateState(): void; } export declare class StatusLightTest extends TestNode { constructor(); get description(): string; get nodeKind(): string; get device(): JDDevice; bind(): void; mount(): void; updateState(): void; } export declare class ServiceTest extends TestNode { readonly serviceClass: number; constructor(name: string, serviceClass: number); get nodeKind(): string; get service(): JDService; set service(value: JDService); test(service: JDService): boolean; bind(): void; customProperties(): object; } export declare abstract class ServiceMemberTestNode extends TestNode { constructor(name: string, manualSteps: ManualSteps); get service(): JDService; } export interface ServiceMemberOptions { name: string; manualSteps?: ManualSteps; start: (test: ServiceMemberTestNode) => () => void; hasChildren?: boolean; } export declare class ServiceCommandTest extends ServiceMemberTestNode { readonly options: ServiceMemberOptions; constructor(options: ServiceMemberOptions); get nodeKind(): string; updateState(): void; mount(): void; bind(): void; } export declare abstract class RegisterTestNode extends ServiceMemberTestNode { readonly code: number; constructor(name: string, manualSteps: ManualSteps, code: number); get register(): JDRegister; set register(value: JDRegister); get description(): string; mount(): void; get info(): string; } export declare class RegisterOracle extends RegisterTestNode { readonly deviceId: string; readonly serviceIndex: number; readonly serviceClass: number; readonly tolerance: number; constructor(name: string, deviceId: string, serviceIndex: number, serviceClass: number, tolerance: number); get nodeKind(): string; nodeState(): TestResult; bind(): void; } export declare class RegisterTest extends RegisterTestNode { readonly computeState: (node: RegisterTest, logger: TestLogger) => TestState; constructor(name: string, manualSteps: ManualSteps, code: number, computeState: (node: RegisterTest, logger: TestLogger) => TestState); get nodeKind(): string; nodeState(): TestResult; bind(): void; } export declare class EventTest extends ServiceMemberTestNode { readonly code: number; readonly computeState: (node: EventTest, logger: TestLogger) => TestState; constructor(name: string, manualSteps: ManualSteps, code: number, computeState: (node: EventTest, logger: TestLogger) => TestState); get nodeKind(): string; get event(): JDEvent; set event(value: JDEvent); get description(): string; mount(): void; nodeState(): TestResult; bind(): void; get info(): string; } //# sourceMappingURL=nodes.d.ts.map