import { IManagedObject, InventoryService, IResultList } from '@c8y/client';
import * as i0 from "@angular/core";
export type ManagedObjectTypeForConfig = 'c8y_Software' | 'c8y_Firmware' | 'c8y_ConfigurationDump' | 'c8y_ModbusDeviceType' | 'c8y_CANopenDeviceType' | 'c8y_LoraDeviceType' | 'c8y_SigfoxDeviceType' | 'c8y_DeviceShellTemplate' | 'c8y_Profile';
export declare class GlobalConfigService {
    private inventory;
    protected cache: Promise<IResultList<IManagedObject | undefined>>;
    private fragmentTypeMapping;
    constructor(inventory: InventoryService);
    /**
     * Retrieves the global configuration for a specific fragment type.
     * @param fragmentType - The fragment type on which the managed object type corresponds.
     * @returns A promise that resolves in the first global configuration managed object.
     */
    getGlobalConfig(fragmentType: string): Promise<IManagedObject | undefined>;
    /**
     * Retrieves whether an object should include the c8y_Global fragment in its declaration.
     * If the fragment is set to false it should return false;
     * If the fragment is set to true  it should return true;
     * If no fragment is available  it should return true;
     * @param objectType - The type of managed object.
     * @returns A promise that resolves into a boolean value indicating whether the global parameter should be set.
     */
    getGlobalParam(objectType: ManagedObjectTypeForConfig): Promise<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<GlobalConfigService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GlobalConfigService>;
}
//# sourceMappingURL=global-config.service.d.ts.map