There are three log types (buckets) - query, build, and error. Each bucket is trimmed to a soft limit of 1,000 logs, which means that under normal conditions, a total of up to 3,000 logs is available when retrieving all three types by passing type:all.
Therefore, if you attempt to retrieve more than 3,000 logs using an offset greater than 3,000, you may receive an empty array, since no additional logs are available within the 7-day retention period.
However, there is an important exception - sometimes, logs are not immediately trimmed to the 1,000-per-bucket soft limit.
Additionally, there is a hard limit of 10,000 logs that can be fetched. Since each server (of which there are three) can store up to 1,000 logs per bucket, in practice, you may be able to retrieve up to ~9,000 logs temporarily, until trimming catches up.