import { IntrospectedEvent, IntrospectedMethod } from "./session"; export declare const OBJECT_ID: unique symbol; export declare const REFERENCE_ID: unique symbol; export type Constructor = (new (...args: any[]) => T); export type AbstractConstructor = (abstract new (...args: any[]) => T); export type AnyConstructor = Constructor | AbstractConstructor; /** * Get the RPC type assigned to the given target (or property of target). * @internal * @param target * @param propertyKey * @returns */ export declare function getRpcType(target: any, propertyKey?: string): 'service' | 'remotable' | 'event' | 'call' | undefined; /** * @internal * @param target * @returns */ export declare function getRpcUrl(target: any): string; /** * @internal * @param target * @returns */ export declare function getRpcServiceName(target: any): string; /** * @internal * @param target * @returns */ export declare function getRpcDiscoverable(target: any): boolean; export declare function getRpcEvents(target: any): IntrospectedEvent[]; export declare function getRpcDescription(target: any, propertyKey?: string): any; export declare function getRpcMethods(target: any): IntrospectedMethod[]; /** * @internal * @param target * @returns */ export declare function getRpcIntrospectable(target: any): boolean;