export declare namespace IHMRType {
    type All = Connected | Custom | Error | Reload | Prune | Update;
    interface Connected {
        type: "connected";
        clientId?: string;
    }
    interface Custom {
        type: "custom";
        clientId?: string;
        event: string;
        data?: any;
    }
    interface Error {
        type: "error";
        clientId?: string;
        err: {
            [name: string]: any;
            message: string;
            stack: string;
            id?: string;
            frame?: string;
            plugin?: string;
            pluginCode?: string;
            loc?: {
                file?: string;
                line: number;
                column: number;
            };
        };
    }
    interface Reload {
        clientId?: string;
        path?: string;
        type: "reload";
    }
    interface Prune {
        clientId?: string;
        type: "prune";
        paths: string[];
    }
    interface Update {
        clientId?: string;
        type: "update";
        updates: UpdateItem[];
    }
    interface UpdateItem {
        clientId?: string;
        type: "js-update" | "css-update";
        path: string;
        acceptedPath: string;
        timestamp: number;
    }
}
