Possibly not. The property you should probably use is class.
The Finder is notoriously slow, and I wouldn't use if for something like this unless you're only going to use it with small-ish folders. You mentioned shell alternatives, but they fall foul of package documents. Nevertheless, something like this should get you started:
tell application "Finder"
set currentDir to (target of front window)
set theString to my listContents(currentDir, "")
-- do something with theString
end tell
on listContents(aFolder, theString)
set subFolders to {}
tell application "Finder"
set {theClasses, theNames} to {class, name} of items of aFolder
set theCount to count of theClasses
set theString to theString & "Folder " & (name of aFolder) & " contains " & theCount & " item(s):" & linefeed
repeat with aName in theNames
set theString to theString & aName & linefeed
end repeat
set theString to theString & linefeed
-- get list of subfolders
repeat with i from 1 to count of theClasses
if item i of theClasses is folder then
set end of subFolders to alias ((aFolder as text) & item i of theNames)
end if
end repeat
end tell
-- process subfolders
repeat with aFolder in subFolders
set theString to listContents(aFolder, theString)
end repeat
return theString
end listContents