import { ISource } from '../core';
export interface IManagedObjectReference {
    /**
     * ManagedObject data itself with mandantory fragments of [[ISource]] at least
     */
    managedObject: ISource;
    /**
     * Link to this resource
     */
    self?: string;
}
export interface IManagedObjectReferences {
    /**
     * References array of type [[IManagedObjectReference]]
     */
    references: IManagedObjectReference[];
    /**
     * Link to this resource
     */
    self?: string;
    /**
     * Total number of references
     */
    count?: number;
}
export interface IManagedObject {
    /**
     * Time when ManagedObject was created in the database
     */
    creationTime: string;
    /**
     * Unique identifier of the object, automatically allocated when the object is created
     */
    id: string;
    /**
     * The time when the object was last updated
     */
    lastUpdated: string;
    /**
     * The owner of the managed object
     */
    owner: string;
    /**
     * Link to this resource
     */
    self: string;
    /**
     * A collection of references to additional parents objects
     */
    additionParents: IManagedObjectReferences;
    /**
     * A collection of references to device parent objects
     */
    assetParents: IManagedObjectReferences;
    /**
     * A collection of references to child addition objects
     */
    childAdditions: IManagedObjectReferences;
    /**
     * A collection of references to child assets
     */
    childAssets: IManagedObjectReferences;
    /**
     * A collection of references to child devices
     */
    childDevices: IManagedObjectReferences;
    /**
     * A collection of references to device parent objects
     */
    deviceParents: IManagedObjectReferences;
    /**
     * Custom fragments
     */
    [key: string]: any;
}
export interface IManagedObjectBinary extends Partial<IManagedObject> {
    c8y_IsBinary: object;
    length: number;
    name: string;
    type: string;
    contentType: string;
    _attachments?: {
        [key: string]: {
            stub: boolean;
            length: number;
            digest: string;
            revpos: number;
            content_type: string;
        };
    };
}
//# sourceMappingURL=IManagedObject.d.ts.map