import { IUnleashConfig } from '../types/option';
import { IUnleashStores } from '../types/stores';
import VersionService from './version-service';
export interface InstanceStats {
    instanceId: string;
    timestamp: Date;
    versionOSS: string;
    versionEnterprise?: string;
    users: number;
    featureToggles: number;
    projects: number;
    contextFields: number;
    roles: number;
    groups: number;
    environments: number;
    segments: number;
    strategies: number;
    SAMLenabled: boolean;
    OIDCenabled: boolean;
}
interface InstanceStatsSigned extends InstanceStats {
    sum: string;
}
export declare class InstanceStatsService {
    private logger;
    private strategyStore;
    private userStore;
    private featureToggleStore;
    private contextFieldStore;
    private projectStore;
    private groupStore;
    private environmentStore;
    private segmentStore;
    private roleStore;
    private versionService;
    private settingStore;
    constructor({ featureToggleStore, userStore, projectStore, environmentStore, strategyStore, contextFieldStore, groupStore, segmentStore, roleStore, settingStore, }: Pick<IUnleashStores, 'featureToggleStore' | 'userStore' | 'projectStore' | 'environmentStore' | 'strategyStore' | 'contextFieldStore' | 'groupStore' | 'segmentStore' | 'roleStore' | 'settingStore'>, { getLogger }: Pick<IUnleashConfig, 'getLogger'>, versionService: VersionService);
    getToggleCount(): Promise<number>;
    hasOIDC(): Promise<boolean>;
    hasSAML(): Promise<boolean>;
    getStats(): Promise<InstanceStats>;
    getSignedStats(): Promise<InstanceStatsSigned>;
}
export {};
