import { Constructor } from "./constructor";
/**
 * This class-level decorator marks a resource as a user singleton. Only one instance of this resource will exist
 * per user.
 *
 * Sets `{@link ResourceMeta.userSingleton}`.
 */
export declare function userSingleton(): (constructor: Constructor<unknown>) => void;
/**
 * This class-level decorator marks a resource as a workspace singleton. Only one instance of this resource will exist
 * per workspace.
 *
 * Sets `{@link ResourceMeta.workspaceSingleton}`.
 */
export declare function workspaceSingleton(): (constructor: Constructor<unknown>) => void;
/**
 * This class-level decorator marks a resource as a system singleton. Only one instance of this resource will exist
 * in the system.
 *
 * Sets `{@link ResourceMeta.systemSingleton}`.
 */
export declare function systemSingleton(): (constructor: Constructor<unknown>) => void;
