import { t } from "@rbxts/t"; /** * @hidden */ export interface MessageOptions { Unreliable?: boolean; Destination: "Server" | "Client"; Type: T; Validators?: t.check[]; OnlyWhenActive?: boolean; ValueValidator?: T extends "Request" ? t.check : undefined; } export declare const INVALID_MESSAGE_STR = "__WCS_INVALID_MESSAGE"; type GetDesiredMethodType = (...args: any[]) => T["Type"] extends "Request" ? Promise : void; type ValidateUnreliable = T["Unreliable"] extends true ? T["Type"] extends "Event" ? T : never : never; export declare function Message(Options: T): (ctor: Record, methodName: string, _: TypedPropertyDescriptor>>) => void; export {};