import type { TGroupsStorageGroupInfo, TStorageStatsPathEntry } from '../../../types/api/storage'; export { normalizeMediaType, UNKNOWN_MEDIA_TYPE } from '../../../utils/disks/normalizeMediaType'; export interface StorageUsageGroupRow { groupId: string; used: number; share: number; storageCount: number; erasure?: string; limit?: number; poolName?: string; mediaType?: string; } export interface StorageUsageSection { mediaKey: string; mediaLabel: string; dataSize?: number; diskUsage: number; overhead?: number; storageGroupsCount: number; rows: StorageUsageGroupRow[]; } export interface StorageUsageMediaStats { dataSize?: number; diskUsage?: number; } export type StorageUsageMediaStatsByType = Record; export interface StorageUsageData { diskUsage: number; mediaStatsByType: StorageUsageMediaStatsByType; storageGroupsCount: number; rows: StorageUsageGroupRow[]; } interface GetStorageUsageParams { path: string; database: string; databaseFullPath: string; useMetaProxy?: boolean; } interface FetchStorageUsageOptions { signal?: AbortSignal; } interface PathStatsMatchParams { path: string; databaseFullPath?: string; useMetaProxy?: boolean; } type StorageUsageQueryResult = { data: StorageUsageData; } | { error: unknown; }; export declare function getPathStats(stats: TStorageStatsPathEntry[] | undefined, params: PathStatsMatchParams): TStorageStatsPathEntry | undefined; export declare function normalizeShare(used: number, diskUsage: number): number; export declare function buildStorageUsageRows(rawRows: Array<{ GroupId?: string; StorageSize?: number; StorageCount?: number; }>, groupsById: Map, diskUsage: number): { groupId: string; used: number; share: number; storageCount: number; erasure: import("../../../types/api/storage").Erasure | undefined; limit: number | undefined; poolName: string | undefined; mediaType: string; }[]; export declare function buildStorageUsageSections(rows: StorageUsageGroupRow[], overallDataSize: number | undefined, totalDiskUsage: number, mediaStatsByType?: StorageUsageMediaStatsByType): { diskUsage: number; dataSize: number | undefined; overhead: number | undefined; rows: StorageUsageGroupRow[]; mediaLabel: string; mediaKey: string; storageGroupsCount: number; }[]; export declare function fetchStorageUsageData({ path, database, databaseFullPath, useMetaProxy }: GetStorageUsageParams, { signal }?: FetchStorageUsageOptions): Promise; export declare const storageUsageApi: import("@reduxjs/toolkit/query").Api, { getStorageUsage: import("@reduxjs/toolkit/query").QueryDefinition, "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList" | "DatabaseData" | "ClusterData", StorageUsageData, "api", typeof import("../api")._NEVER>; }, "api", "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList" | "DatabaseData" | "ClusterData", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;