import type { TUserToken } from '../../types/api/whoami'; export type UserPermissions = Pick; /** * Reads the current user (whoami) data for the currently selected database. * * The whoami query is keyed by {database, useMeta}, so each database has its own * cache entry. Deriving permissions from this result (instead of a global slice) * guarantees they always match the current database, including on cache hits when * switching back to a previously visited database (where the query function does * not run again). * * The args are resolved exactly like GetUser/GetMetaUser so this hook subscribes * to the same cache entry instead of creating a divergent subscription. */ export declare function useWhoami(): (import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized; originalArgs?: undefined | undefined; data?: undefined | undefined; error?: undefined | undefined; requestId?: undefined | undefined; endpointName?: string | undefined; startedTimeStamp?: undefined | undefined; fulfilledTimeStamp?: undefined | undefined; } & { currentData?: TUserToken | undefined; isUninitialized: false; isLoading: false; isFetching: false; isSuccess: false; isError: false; }, "isUninitialized"> & { isUninitialized: true; }) | import("@reduxjs/toolkit/query").TSHelpersOverride, "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList" | "DatabaseData" | "ClusterData", TUserToken | undefined, "api", any>> & { currentData?: TUserToken | undefined; isUninitialized: false; isLoading: false; isFetching: false; isSuccess: false; isError: false; }, { isLoading: true; isFetching: boolean; data: undefined; } | ({ isSuccess: true; isFetching: true; error: undefined; } & Required, "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList" | "DatabaseData" | "ClusterData", TUserToken | undefined, "api", any>> & { currentData?: TUserToken | undefined; isUninitialized: false; isLoading: false; isFetching: false; isSuccess: false; isError: false; }, "data" | "fulfilledTimeStamp">>) | ({ isSuccess: true; isFetching: false; error: undefined; } & Required, "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList" | "DatabaseData" | "ClusterData", TUserToken | undefined, "api", any>> & { currentData?: TUserToken | undefined; isUninitialized: false; isLoading: false; isFetching: false; isSuccess: false; isError: false; }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({ isError: true; } & Required, "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList" | "DatabaseData" | "ClusterData", TUserToken | undefined, "api", any>> & { currentData?: TUserToken | undefined; isUninitialized: false; isLoading: false; isFetching: false; isSuccess: false; isError: false; }, "error">>)>> & { status: import("@reduxjs/toolkit/query").QueryStatus; }) & { refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult, "All" | "Conversations" | "Events" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList" | "DatabaseData" | "ClusterData", TUserToken | undefined, "api", any>>; }; export declare function useUserPermissions(): UserPermissions | undefined; export declare function useIsUserAllowedToMakeChanges(): boolean | undefined; export declare function useIsViewerUser(): boolean | undefined; export declare function useUser(): import("../user").UserInfo | undefined; export declare function useMetaUser(): string | undefined;