import { VersionService } from './version.service';
import { AppStateService } from '../common/ui-state.service';
import { CleanedVersion } from './version.model';
import { ApplicationService, ICurrentUser } from '@c8y/client';
import * as i0 from "@angular/core";
export declare class PlatformDetailsService {
    private version;
    private appState;
    private apps;
    constructor(version: VersionService, appState: AppStateService, apps: ApplicationService);
    getPlatformDetailsObject(): Promise<{
        time: string;
        tenantId: string;
        tenantSelfLink: string;
        tenantDomainName: string;
        url: string;
        userId: string;
        userPermissions: {
            user: string[];
            groups: {
                id: string;
                name: string;
                permissions: string[];
            }[];
        };
        applicationId: string | number;
        applicationKey: string;
        versions: {
            [key: string]: CleanedVersion[];
        };
    }>;
    protected getVersions(): Promise<CleanedVersion[]>;
    protected getMicroserviceVersions(userId: string): Promise<CleanedVersion[]>;
    protected getUserPermissions(user: ICurrentUser | null): {
        user: string[];
        groups: {
            id: string;
            name: string;
            permissions: string[];
        }[];
    };
    protected getDirectPermissionsOfUser(user: ICurrentUser): string[];
    protected getPermissionsOfAssignedGroups(user: ICurrentUser): {
        id: string;
        name: string;
        permissions: string[];
    }[];
    static ɵfac: i0.ɵɵFactoryDeclaration<PlatformDetailsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PlatformDetailsService>;
}
//# sourceMappingURL=platform-details.service.d.ts.map