import type { HttpRequest, S3 } from "./s3.js";
export type ListParams = {
    ContinuationToken: string;
    Delimiter: string;
    Prefix: string;
    EncodingType: string;
    StartAfter: string;
    MaxKeys: number;
    FetchOwner: boolean;
};
export type ListObjectCommonPrefix = {
    Prefix: string;
};
export type ListObjectContent = {
    Key: string;
    LastModified: Date;
    Size: number;
    ETag: string;
};
export type ListObjectsResponse = {
    EncodingType: string;
    Name: string;
    Prefix: string;
    Delimiter: string;
    ContinuationToken: string;
    NextContinuationToken: string;
    StartAfter: string;
    CommonPrefixes: ListObjectCommonPrefix[];
    Contents: ListObjectContent[];
    KeyCount: number;
    MaxKeys: number;
    IsTruncated: boolean;
    toJSON?: () => Record<string, unknown>;
};
export declare function listObjects(s3: S3, ctx: AbortSignal | null, params: ListParams, ...optReqFuncs: Array<(req: HttpRequest) => void>): Promise<ListObjectsResponse>;
