import { ParameterAst, ParserAstContext, ParameterContext, PropertyAst, PropertyContext, MethodAst, MethodContext } from 'ims-decorator'; export declare type SocketOptions = string; export declare const SocketMetadataKey = "SocketMetadataKey"; export declare const Socket: (metadataDef?: string & { sourceRoot?: string; imports?: any[]; providers?: import("../../../ims-decorator/lib").Provider[]; }) => (target: any, propertyKey?: string | symbol, descriptor?: number | TypedPropertyDescriptor) => any; export declare function isSocketPropertyAst(val: PropertyAst): val is PropertyAst; export declare class SocketPropertyAst extends PropertyContext { constructor(ast: PropertyAst, context: ParserAstContext); } export declare function isSocketMethodAst(val: MethodAst): val is MethodAst; export declare class SocketMethodAst extends MethodContext { name: string; constructor(ast: MethodAst, context: ParserAstContext); } export declare function isSocketParameterAst(val: ParameterAst): val is ParameterAst; export declare class SocketParameterAst extends ParameterContext { constructor(ast: ParameterAst, context: ParserAstContext); }