import { InventoryService } from '@c8y/client';
import { AbstractControl, FormGroup } from '@angular/forms';
import { JSONSchema7TypeName } from 'json-schema';
import * as i0 from "@angular/core";
export interface TenantCustomPropertyField {
    id: string;
    label: string;
    type: JSONSchema7TypeName | JSONSchema7TypeName[];
    format?: 'datetime' | string;
    formControlReference: AbstractControl;
}
export declare class CustomPropertiesService {
    private inventoryService;
    constructor(inventoryService: InventoryService);
    getFormAndFieldList(): Promise<{
        form: FormGroup;
        fields: TenantCustomPropertyField[];
    }>;
    private getCustomProperties;
    private buildFormGroup;
    private applyValidators;
    private buildFieldList;
    static ɵfac: i0.ɵɵFactoryDeclaration<CustomPropertiesService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CustomPropertiesService>;
}
//# sourceMappingURL=custom-properties.service.d.ts.map