export type DevToolsMessageType = 'DISPATCH' | string;
export type DevToolsMessagePayload = {
    type?: string;
    state?: any;
};
export type DevToolsMessage = {
    type?: DevToolsMessageType;
    payload?: DevToolsMessagePayload;
};
export type DevTools = {
    init: (state: any) => void;
    connect: (options: {
        name: string;
        trace: boolean;
    }) => any;
    subscribe: (message: DevToolsMessage) => any;
    send: (action: {
        type: string;
        state?: any;
    }, newState: any) => any;
    unsubscribe: () => any;
    dispatch: (action: {
        type: string;
    }) => any;
    disconnect: () => any;
};
export declare const devtools: DevTools | null;
