import { ApiKey, User, UserGroup } from "@vertesia/common"; /** * Fetch the user information given a user reference. * The reference has the format: `type:id`. A special reference `system` is used to refer to the system user. * @param userRef */ export declare function useFetchUserInfo(userId: string): { data: User | undefined; isLoading: boolean; error: any; setData: import("react").Dispatch>; refetch: () => Promise; }; /** * Fetch the group information given a group ID. * @param groupId */ export declare function useFetchGroupInfo(groupId: string): { data: UserGroup | undefined; isLoading: boolean; error: any; setData: import("react").Dispatch>; refetch: () => Promise; }; /** * Fetch the API key information given a key ID. * @param keyId */ export declare function useFetchApiKeyInfo(keyId: string): { data: ApiKey | undefined; isLoading: boolean; error: any; setData: import("react").Dispatch>; refetch: () => Promise; }; interface InfoProps { showTitle?: boolean; size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'; } interface UserInfoProps extends InfoProps { /** * The user reference is a string that contains the type and id of the user. * * The format is: `type:id`, where "type" is the {@link PrincipalType} and the "id" is the * object ID in the database. * * @example user:123 * @example service_account:123 * @example apikey:123 * @example project:* (all project members — synthetic principal used in ACLs) */ userRef: string | undefined; } export declare function UserInfo({ userRef, showTitle, size }: UserInfoProps): import("react/jsx-runtime").JSX.Element | undefined; interface ApiKeyAvatarProps extends InfoProps { keyId: string; } export declare function ApiKeyAvatar({ keyId, showTitle, size }: ApiKeyAvatarProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=UserInfo.d.ts.map