///
///
import { ActionKeyAlias } from './keys';
type HasAlias = {
[K in T]: {
[P in K]: string;
};
}[T];
type MessageWithAction = HasAlias & Message;
interface ClientOptions {
module: MessageModule;
tabId?: number;
extId?: string;
}
export declare class Client {
private readonly __mod__;
private readonly __tab_id__?;
private readonly __ext_id__?;
constructor(opt: ClientOptions);
static tab(tab: chrome.tabs.Tab | number): Client;
static runtime(extId?: string): Client;
send, Response = any>(action: string, message?: Message): Promise;
send, Response = any>(message: MessageWithAction): Promise;
private sendMessage;
private findActionKeyInMessage;
static _: Client;
static $: (tab: chrome.tabs.Tab | number) => Client;
}
export {};