import { ObjectMp, Player } from "@infernus/core"; //#region packages/cef/src/interfaces/index.d.ts interface CefCommonOptions { player: Player; url: string; width?: number; height?: number; } interface CefBrowserOptions extends CefCommonOptions { type: "2dPlayer"; focused: boolean; controlsChat?: boolean; } interface CefWorldBrowserOptions extends CefCommonOptions { type: "3dWorld"; textureName: string; } interface CefWorld2DBrowserOptions extends CefCommonOptions { type: "2dWorld"; worldX: number; worldY: number; worldZ: number; offsetZ?: number; pivotX?: number; pivotY?: number; } type CefBrowserSourceInfo = CefBrowserOptions | CefWorldBrowserOptions | CefWorld2DBrowserOptions; //#endregion //#region packages/cef/src/enums/index.d.ts declare enum CefInitReasonEnum { OK = 0, TIMEOUT = 1, VERSION_MISMATCH = 2, IP_MISMATCH = 3, HANDSHAKE_FAILED = 4, UNKNOWN = 5 } declare enum CefCreateStatusEnum { SUCCESS = 0, ERROR_GENERIC = 1, ERROR_ID_ALREADY_IN_USE = 2 } declare enum CefAudioModeEnum { WORLD = 0, UI = 1 } declare enum CefHudComponentEnum { ALL = 0, AMMO = 1, ARMOUR = 2, BREATH = 3, CROSSHAIR = 4, HEALTH = 5, MONEY = 6, RADAR = 7, WANTED_STARS = 8, WEAPON = 9 } //#endregion //#region packages/cef/src/entities/cef.d.ts declare class CefBrowser { private sourceInfo; private browserId; constructor(browserOptions: CefBrowserSourceInfo); create(): void; setPos(x: number, y: number, z: number): number; setVisible(visible: boolean): number; destroy(): number; emitEvent(eventName: string, data: any): number; reloadBrowser(ignoreCache?: boolean): number; focusBrowser(focused: boolean): number; enableDevTools(enabled: boolean): number; attachToObject(object: ObjectMp): number; detachFromObject(object: ObjectMp): number; setMuted(mute: boolean): number; setAudioMode(mode: CefAudioModeEnum): number; setAudioSettings(maxDistance: number, referenceDistance: number): number; getId(): number; getType(): "2dPlayer" | "3dWorld" | "2dWorld"; getWidth(): number | undefined; getHeight(): number | undefined; getPlayer(): Player; getUrl(): string; isValid(): boolean; private throwIfInvalid; static isValid(player: Player, browserId: number): boolean; static hasPlugin(player: Player): boolean; static addResource(resourceName: string): void; static toggleHudComponent(player: Player, componentId: CefHudComponentEnum, toggle: boolean): number; static toggleSpawnScreen(player: Player, toggle: boolean): number; static clearChat(player: Player): number; static toggleChatInput(player: Player, toggle: boolean): number; static isChatInputOpen(player: Player): boolean; static enableKey(player: Player, key: number, enabled: boolean): number; static setKeyCapture(player: Player, enabled: boolean): number; static exitGame(player: Player): number; static getInstance(browserId: number, player: Player): CefBrowser | undefined; static getInstances(): [Player, Map][]; static getPlayerInstances(player: Player): CefBrowser[]; } //#endregion //#region packages/cef/src/events/index.d.ts declare const CefEvent: { onInitialize: (cb: (ret: { player: Player; success: boolean; reason: CefInitReasonEnum; message: string; } & { next: (value?: Partial<{ player: Player; success: boolean; reason: CefInitReasonEnum; message: string; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; onDownloadStart: (cb: (ret: { player: Player; } & { next: (value?: Partial<{ player: Player; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; onDownloadFinish: (cb: (ret: { player: Player; } & { next: (value?: Partial<{ player: Player; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; onReady: (cb: (ret: { player: Player; } & { next: (value?: Partial<{ player: Player; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; onBrowserCreated: (cb: (ret: { player: Player; browser: CefBrowser; success: boolean; code: CefCreateStatusEnum; reason: string; } & { next: (value?: Partial<{ player: Player; browser: CefBrowser; success: boolean; code: CefCreateStatusEnum; reason: string; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; onPressKey: (cb: (ret: { player: Player; key: number; scanCode: number; modifiers: number; down: boolean; repeat: boolean; } & { next: (value?: Partial<{ player: Player; key: number; scanCode: number; modifiers: number; down: boolean; repeat: boolean; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; onChatInputState: (cb: (ret: { player: Player; open: boolean; } & { next: (value?: Partial<{ player: Player; open: boolean; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; onRecv: (cb: (ret: { player: Player; browser: CefBrowser; raw: string; data: string; buffer: any; } & { next: (value?: Partial<{ player: Player; browser: CefBrowser; raw: string; data: string; buffer: any; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise, unshift?: boolean) => () => number | undefined; }; //#endregion //#region packages/cef/src/exceptions/index.d.ts declare class CefException extends Error { constructor(message: string); } //#endregion export { CefAudioModeEnum, CefBrowser, CefBrowserOptions, CefBrowserSourceInfo, CefCommonOptions, CefCreateStatusEnum, CefEvent, CefException, CefHudComponentEnum, CefInitReasonEnum, CefWorld2DBrowserOptions, CefWorldBrowserOptions };