import { IPlugin } from "../IModLoaderAPI";
export declare const enum ProxySide {
    CLIENT = 0,
    SERVER = 1,
    UNIVERSAL = 2
}
export declare class ProxySideContainer {
    side: ProxySide;
    backing: (new () => any) | string;
    core?: string;
    constructor(side: ProxySide, backing: (new () => any) | string, core?: string);
}
export declare function SidedProxy(side: ProxySide, inst: (new () => any) | string, core?: string): (target: any, propertyKey: string) => void;
export declare function setupSidedProxy(instance: any, isClient: boolean, isServer: boolean, core: string): Array<any>;
export declare function ParentReference(): (target: any, propertyKey: string) => void;
export declare function setupParentReference(instance: any, parent: IPlugin): void;
