import { ApiV2Includes, TwitterResponse, UserV2, UserV2TimelineParams, UserV2TimelineResult } from '../types';
import { PreviousableTwitterPaginator } from './TwitterPaginator';
/** A generic PreviousableTwitterPaginator able to consume UserV2 timelines. */
declare abstract class UserTimelineV2Paginator<TResult extends UserV2TimelineResult, TParams extends UserV2TimelineParams, TShared = any> extends PreviousableTwitterPaginator<TResult, TParams, UserV2, TShared> {
    protected refreshInstanceFromResult(response: TwitterResponse<TResult>, isNextPage: boolean): void;
    protected updateIncludes(data: TResult): void;
    protected getNextQueryParams(maxResults?: number): {
        max_results?: number | undefined;
    } & Partial<TParams> & {
        pagination_token: string | undefined;
    };
    protected getPreviousQueryParams(maxResults?: number): {
        max_results?: number | undefined;
    } & Partial<TParams> & {
        pagination_token: string | undefined;
    };
    protected getPageLengthFromRequest(result: TwitterResponse<TResult>): number;
    protected isFetchLastOver(result: TwitterResponse<TResult>): boolean;
    protected canFetchNextPage(result: TResult): boolean;
    protected getItemArray(): UserV2[];
    /**
     * Users returned by paginator.
     */
    get users(): UserV2[];
    get meta(): {
        result_count: number;
        previous_token?: string | undefined;
        next_token?: string | undefined;
    };
    get includes(): ApiV2Includes;
}
export declare class UserBlockingUsersV2Paginator extends UserTimelineV2Paginator<UserV2TimelineResult, UserV2TimelineParams, {
    id: string;
}> {
    protected _endpoint: string;
}
export declare class UserMutingUsersV2Paginator extends UserTimelineV2Paginator<UserV2TimelineResult, UserV2TimelineParams, {
    id: string;
}> {
    protected _endpoint: string;
}
export declare class UserFollowersV2Paginator extends UserTimelineV2Paginator<UserV2TimelineResult, UserV2TimelineParams, {
    id: string;
}> {
    protected _endpoint: string;
}
export declare class UserFollowingV2Paginator extends UserTimelineV2Paginator<UserV2TimelineResult, UserV2TimelineParams, {
    id: string;
}> {
    protected _endpoint: string;
}
export {};
