/// import { ActionKey } from './keys'; export type Resolved> = { [ActionKey]: string; } & U; export type RoutingTargetEvent = chrome.events.Event<(...args: any[]) => any> | chrome.webRequest.WebRequestEvent<(...args: any[]) => any, string[]>; export type ExtractCallback = T extends chrome.events.Event ? U : T extends chrome.webRequest.WebRequestEvent ? V : never; export type HandlerOf any> = (...args: Parameters) => (Promise | undefined); export type Resolver any, U = Record> = (...args: Parameters) => (Resolved | Promise>); export declare const DefaultResolver: (...args: any[]) => Resolved; export declare class Router> { readonly resolver: Resolver, U>; constructor(resolver?: Resolver, U>); private notfound; onNotFound(callback: HandlerOf>): void; private error; onError(callback: HandlerOf>): void; private readonly routes; on(action: string, callback: HandlerOf>): unknown; private findHandler; listener(): ExtractCallback; private sendResponse; }