import { Modding } from "@flamework/core"; import { SharedRemoteEventServerToClient, SharedRemoteEventClientToServer } from "./event"; import { SharedComponent } from "../shared-component"; import { ISharedRemoteAction } from "./action"; export interface ServerToClient { readonly __brand: unique symbol; } export interface ClientToServer { readonly __brand: unique symbol; } /** @hidden */ export interface ISharedNetwork { /** @hidden */ componentReferense: SharedComponent; /** @hidden */ Identifier: string; /** @hidden */ name: string; /** @hidden */ Destroy(): void; } export declare namespace SharedComponentNetwork { /** @metadata macro */ const event: (mode?: Modding.Generic, validator?: Modding.Generic) => Mode extends ServerToClient ? SharedRemoteEventServerToClient : SharedRemoteEventClientToServer; /** @metadata macro */ const action: (validator?: Modding.Generic) => ISharedRemoteAction; }