import type { FixtureList, FixtureState, FixtureStateChange, MessageType, RendererId } from 'react-cosmos-core'; export type GetFixtureState = (name: string) => T | undefined; export type SetFixtureStateByName = (name: string, change: FixtureStateChange) => void; export type RendererCoreSpec = { name: 'rendererCore'; config: { fixtures: FixtureList; rendererUrl: null | string; }; state: { connectedRendererIds: RendererId[]; primaryRendererId: null | RendererId; fixtures: FixtureList; fixtureState: FixtureState; globalFixtureState: FixtureState; }; methods: { getRendererUrl(): null | string; getConnectedRendererIds(): RendererId[]; getPrimaryRendererId(): null | RendererId; getFixtures(): FixtureList; isRendererConnected(): boolean; reloadRenderer(): void; selectPrimaryRenderer(primaryRendererId: RendererId): void; receiveResponse(msg: MessageType): void; getAllFixtureState(): FixtureState; getFixtureState: GetFixtureState; setFixtureState: SetFixtureStateByName; setGlobalFixtureState(name: string, state: T): void; }; events: { request(msg: MessageType): void; response(msg: MessageType): void; }; };