import { t } from "@rbxts/t"; import { ISharedNetwork } from "."; import { SharedComponent } from "../shared-component"; import { SharedRemoteAction } from "./action"; export declare const IsSharedComponentRemoteEvent: (obj: ISharedNetwork) => obj is SharedRemoteEventServerToClient<[]> | SharedRemoteEventClientToServer<[]> | SharedRemoteAction<[], unknown>; export declare class SharedRemoteEventServerToClient implements ISharedNetwork { static readonly RemoteEventIndefinitely = "__SHARED_COMPONENT_REMOTE_EVENT_SERVER_TO_CLIENT"; componentReferense: SharedComponent<{}, {}, Instance>; name: string; readonly Identifier = "__SHARED_COMPONENT_REMOTE_EVENT_SERVER_TO_CLIENT"; private signal; private guard; static Indefinitely(obj: ISharedNetwork): obj is SharedRemoteEventServerToClient<[]>; constructor(guard: t.check); private send; private filterPlayersToConnect; /** * Sends this request to the specified player(s). * @param players The player(s) that will receive this event * @server */ Fire(players: Player[] | Player, ...args: A): void; /** * Sends this request to all players, excluding the specified player(s). * @param players The player(s) that will not receive this event * @server */ Except(players: Player[] | Player, ...args: A): void; /** * Sends this request to all connected players. * @server */ Broadcast(...args: A): void; /** @client */ Connect(callback: (...args: A) => void): import("@rbxts/beacon").Connection; Destroy(): void; } export declare class SharedRemoteEventClientToServer implements ISharedNetwork { static readonly RemoteEventIndefinitely = "__SHARED_COMPONENT_REMOTE_EVENT_CLIENT_TO_SERVER"; componentReferense: SharedComponent<{}, {}, Instance>; name: string; private signal; private guard; readonly Identifier = "__SHARED_COMPONENT_REMOTE_EVENT_CLIENT_TO_SERVER"; static Indefinitely(obj: ISharedNetwork): obj is SharedRemoteEventClientToServer<[]>; constructor(guard: t.check); /** * Fires the remote for the server to process. Calls the listeners * connected to the same remote. * * Arguments are validated on the server before they are processed. * * @client */ Fire(...args: A): void; /** @server */ Connect(callback: (player: Player, ...args: A) => void): import("@rbxts/beacon").Connection<[player: Player, ...A]>; Destroy(): void; }