adnbn
Version:
Addon Bone - Cross-browser web extension framework with shared code base
29 lines (26 loc) • 1.43 kB
TypeScript
import { i as ContentScriptConfig, T as EntrypointOptions, K as ContentScriptDefinition, G as ContentScriptContext } from '../manifest-DAV18Z2K.js';
import { TransportType, TransportDefinition, TransportConfig } from './transport.js';
import { Awaiter } from './helpers.js';
import 'react';
import 'utility-types';
import './app.js';
import './browser.js';
import './locale.js';
import './message.js';
declare const RelayGlobalKey = "adnbnRelay";
declare enum RelayMethod {
Scripting = "scripting",
Messaging = "messaging"
}
interface RelayConfig extends TransportConfig, ContentScriptConfig {
method?: RelayMethod;
}
type RelayOptions = RelayConfig & EntrypointOptions;
type RelayOptionsMap = Map<string, RelayOptions>;
type RelayEntrypointOptions = Partial<RelayOptions>;
type RelayMainHandler<T extends TransportType> = (relay: T, context: ContentScriptContext, options: RelayEntrypointOptions) => Awaiter<void>;
interface RelayDefinition<T extends TransportType> extends Omit<TransportDefinition<RelayOptions, T>, "main">, Omit<ContentScriptDefinition, "main">, RelayEntrypointOptions {
main?: RelayMainHandler<T>;
}
type RelayUnresolvedDefinition<T extends TransportType> = Partial<RelayDefinition<T>>;
export { type RelayConfig, type RelayDefinition, type RelayEntrypointOptions, RelayGlobalKey, type RelayMainHandler, RelayMethod, type RelayOptions, type RelayOptionsMap, type RelayUnresolvedDefinition };