import { type Middleware } from "exome"; export interface DevtoolsExtensionInterface { connect(config: { name: string; maxAge?: number; details: { version: string; }; }): DevtoolsExtensionConnectionInterface; } export interface DevtoolsExtensionConnectionInterface { disconnect(): void; send(data: { event: "update"; type: "all"; payload: { actions: Action[]; states: [string, any][]; }; }): void; send(data: { event: "update"; type: "action"; payload: Action; }): void; send(data: { event: "update"; type: "state"; payload: [string, any] | [string, any, string]; }): void; send(data: { event: "send"; type: "actions"; payload: Action[]; }): void; send(data: { event: "send"; type: "action"; payload: Action; }): void; send(data: { event: "send"; type: "states"; payload: [string, any][]; }): void; send(data: { event: "send"; type: "state"; payload: [string, any]; }): void; subscribe(cb: (data: { type: "sync"; }) => void): () => void; } export interface ExomeDevtoolsConfig { name: string; maxAge?: number; ignoreListActions?: string[]; ignoreListStores?: string[]; } /** * Subscribes to Exome Developer Tools. * https://chromewebstore.google.com/detail/exome-developer-tools/pcanmpamoedhpfpbjajlkpicbikbnhdg */ export declare const exomeDevtools: ({ name, maxAge, ignoreListActions, ignoreListStores, }: ExomeDevtoolsConfig) => Middleware; interface Action { id: string; name: string; payload: any[]; instance: string; depth: number; now: number; time?: number; trace: string; error?: string; response?: string; before: Record; after?: Record; } export {};