import { type TenantMemberDto, type RoleListDto, type UserListDto } from '@/services/api/adminApi';
export interface UseTenantMembersReturn {
    members: TenantMemberDto[] | null;
    setMembers: (members: TenantMemberDto[] | null) => void;
    loadingMembers: boolean;
    setLoadingMembers: (loading: boolean) => void;
    addingMember: boolean;
    setAddingMember: (adding: boolean) => void;
    availableUsers: UserListDto[];
    setAvailableUsers: (users: UserListDto[]) => void;
    loadingUsers: boolean;
    setLoadingUsers: (loading: boolean) => void;
    userSearchTerm: string;
    setUserSearchTerm: (term: string) => void;
    selectedUserId: string | null;
    setSelectedUserId: (userId: string | null) => void;
    addingMemberLoading: boolean;
    setAddingMemberLoading: (loading: boolean) => void;
    selectedMemberForRoles: TenantMemberDto | null;
    setSelectedMemberForRoles: (member: TenantMemberDto | null) => void;
    availableRoles: RoleListDto[];
    setAvailableRoles: (roles: RoleListDto[]) => void;
    selectedRoleIds: string[];
    setSelectedRoleIds: (roleIds: string[]) => void;
    loadingRoles: boolean;
    setLoadingRoles: (loading: boolean) => void;
    savingRoles: boolean;
    setSavingRoles: (saving: boolean) => void;
    loadMembers: () => Promise<void>;
    loadAvailableUsers: () => Promise<void>;
    handleAddMember: () => Promise<void>;
    handleRemoveMember: (userId: string) => Promise<void>;
    openRoleModal: (member: TenantMemberDto) => Promise<void>;
    closeRoleModal: () => void;
    handleSaveRoles: () => Promise<void>;
    handleRoleToggle: (roleId: string) => void;
}
export declare function useTenantMembers(tenantId: string | undefined): UseTenantMembersReturn;
//# sourceMappingURL=useTenantMembers.d.ts.map