@aurora-mp/client
Version:
Client package of the aurora-mp TypeScript framework.
49 lines (39 loc) • 1.81 kB
TypeScript
import { IPlatformDriver, ILogger, IWebView } from '@aurora-mp/core';
/**
* Provides shared client-side services.
*/
declare class ClientModule {
}
declare function OnServer<E extends string>(eventName?: E): MethodDecorator;
declare function OnWebView(webviewId: string | number, eventName?: string): MethodDecorator;
declare function OnServerRpc<E extends string>(rpcName?: E): MethodDecorator;
declare function OnWebViewRpc<E extends string>(webviewId: string | number, rpcName?: E): MethodDecorator;
declare class EventService {
private readonly platformDriver;
constructor(platformDriver: IPlatformDriver<any>);
emit(eventName: string, ...args: any[]): void;
emitServer(eventName: string, ...args: any[]): void;
}
declare class RpcService<TPlayer = any> {
private readonly platformDriver;
private readonly logger;
/**
* @param platformDriver - The platform-specific driver implementation,
* injected via the PLATFORM_DRIVER token.
*/
constructor(platformDriver: IPlatformDriver<TPlayer>, logger: ILogger);
invokeServer<T = any>(method: string, ...args: unknown[]): Promise<T>;
}
declare class WebviewService {
private readonly platformDriver;
private readonly logger;
private readonly instances;
private readonly createListeners;
constructor(platformDriver: IPlatformDriver, logger: ILogger);
create(id: string | number, url: string, focused?: boolean, hidden?: boolean): IWebView;
destroy(id: string | number): void;
getById(id: string | number): IWebView | undefined;
getAll(): IWebView[];
onCreate(listener: (id: string | number, webview: IWebView) => void): void;
}
export { ClientModule, EventService, OnServer, OnServerRpc, OnWebView, OnWebViewRpc, RpcService, WebviewService };