///
import { type Resolver, type RoutingTargetEvent, type ExtractCallback, type HandlerOf } from './router';
export type StackCallback = F extends (first: any, ...rest: infer V) => any ? (stack: Array[0]>, ...args: V) => ReturnType : F extends (first: any) => any ? (stack: Array[0]>) => ReturnType : never;
type EventTypes = chrome.events.Event | chrome.webRequest.WebRequestEvent;
export type ExtractCallbackSequential = T extends chrome.events.Event ? StackCallback : T extends chrome.webRequest.WebRequestEvent ? StackCallback : never;
export declare class SequentialRouter> {
readonly length: number;
readonly resolver: Resolver, U>;
constructor(length: number, resolver?: Resolver, U>);
private pool;
onNotFound(callback: HandlerOf>): void;
private notfound;
private readonly error;
private readonly routes;
on(actions: string[], callback: HandlerOf>): unknown;
private findHandler;
listener(): ExtractCallback;
private sendResponse;
}
export {};