import { type IUser, type IUserGroup } from "@gooddata/sdk-model";
import { type ITab } from "@gooddata/sdk-ui-kit";
import { type IGrantedDataSource, type IGrantedUserGroup, type IGrantedWorkspace, type IUserMember, type UserEditDialogMode, type UserGroupEditDialogMode, type UserTabId } from "./types.js";
export declare const useUser: (userId: string, organizationId: string, isAdmin: boolean, onSuccess: () => void) => {
    user: IUser | undefined;
    onUserDetailsChanged: (user: IUser, isAdmin: boolean) => void;
    isCurrentlyAdmin: boolean;
    setIsAdmin: import("react").Dispatch<import("react").SetStateAction<boolean>>;
    error: any;
    isLoading: boolean;
};
export declare const useUserGroup: (userGroupId: string, organizationId: string, onSuccess: () => void) => {
    userGroup: IUserGroup | undefined;
    onUserGroupDetailsChanged: (userGroup: IUserGroup) => void;
    error: any;
    isLoading: boolean;
};
export declare const useDeleteUser: (userId: string, organizationId: string, onSuccess: () => void, onClose: () => void) => {
    isDeleteUserProcessing: boolean;
    deleteUser: () => void;
};
export declare const useDeleteUserGroup: (userGroupId: string, organizationId: string, onSuccess: () => void, onClose: () => void) => {
    isDeleteUserGroupProcessing: boolean;
    deleteUserGroup: () => void;
};
export declare const useDeleteDialog: () => {
    isConfirmDeleteOpened: boolean;
    onOpenDeleteDialog: () => void;
    onCloseDeleteDialog: () => void;
    dialogOverlayClassNames: string;
    dialogWrapperClassNames: string;
};
export declare const useUserGroups: (userId: string, organizationId: string, bootstrapUserGroupId: string, onSuccess: () => void, setIsAdmin: (isAdmin: boolean) => void) => {
    grantedUserGroups: IGrantedUserGroup[] | undefined;
    onUserGroupsChanged: (userGroups: IGrantedUserGroup[]) => void;
    removeGrantedUserGroup: (grantedUserGroup: IGrantedUserGroup) => void;
    removeAdminGroup: () => void;
};
export declare const useUsers: (userGroupId: string, organizationId: string, onSuccess: () => void) => {
    grantedUsers: IUserMember[];
    onUsersChanged: (users: IUserMember[]) => void;
    removeGrantedUsers: (grantedUser: IUserMember) => void;
};
export declare const useUserDialogTabs: (grantedWorkspaces: IGrantedWorkspace[] | undefined, grantedUserGroups: IGrantedUserGroup[] | undefined, grantedDataSources: IGrantedDataSource[] | undefined, isAdmin: boolean, selectedTab?: UserTabId) => {
    tabs: ITab[];
    selectedTabId: {
        id: string;
    };
    setSelectedTabId: import("react").Dispatch<import("react").SetStateAction<{
        id: string;
    }>>;
};
export declare const useUserGroupDialogTabs: (grantedWorkspaces: IGrantedWorkspace[] | undefined, grantedUsers: IUserMember[], grantedDataSources: IGrantedDataSource[] | undefined, isAdmin: boolean) => {
    tabs: ITab[];
    selectedTabId: {
        id: string;
    };
    setSelectedTabId: import("react").Dispatch<import("react").SetStateAction<{
        id: string;
    }>>;
};
export declare const useUserDialogMode: (initialView: UserEditDialogMode) => {
    dialogMode: UserEditDialogMode;
    setDialogMode: import("react").Dispatch<import("react").SetStateAction<UserEditDialogMode>>;
};
export declare const useUserGroupDialogMode: (initialView: UserGroupEditDialogMode) => {
    dialogMode: UserGroupEditDialogMode;
    setDialogMode: import("react").Dispatch<import("react").SetStateAction<UserGroupEditDialogMode>>;
};
export declare const useOrganizationDetails: (organizationId: string) => {
    isBootstrapUser: (user: IUser | undefined) => boolean;
    isBootstrapUserGroup: (userGroup: IUserGroup | undefined) => boolean;
    bootstrapUserId: string | undefined;
    bootstrapUserGroupId: string | undefined;
};
//# sourceMappingURL=dialogHooks.d.ts.map