twitter-api-v2
Version:
Strongly typed, full-featured, light, versatile yet powerful Twitter API v1.1 and v2 client for Node.js.
62 lines (61 loc) • 1.98 kB
TypeScript
import type { TypeOrArrayOf } from '../shared.types';
import type { DataAndIncludeV2, DataMetaAndIncludeV2, DataV2 } from './shared.v2.types';
import type { TTweetv2UserField } from './tweet.v2.types';
import type { UserV2 } from './user.v2.types';
export declare type TListV2Field = 'created_at' | 'follower_count' | 'member_count' | 'private' | 'description' | 'owner_id';
export declare type TListV2Expansion = 'owner_id';
export declare type TListV2Includes = {
users?: UserV2[];
};
export interface ListV2 {
id: string;
name: string;
created_at?: string;
private?: boolean;
follower_count?: number;
member_count?: number;
owner_id?: string;
description?: string;
}
export interface ListCreateV2Params {
name: string;
description?: string;
private?: boolean;
}
export interface GetListV2Params {
expansions: TypeOrArrayOf<TListV2Expansion> | string;
'list.fields': TypeOrArrayOf<TListV2Field> | string;
'user.fields': TypeOrArrayOf<TTweetv2UserField> | string;
}
export interface GetListTimelineV2Params extends Partial<GetListV2Params> {
max_results?: number;
pagination_token?: string;
}
export declare type ListGetV2Result = DataAndIncludeV2<ListV2, TListV2Includes>;
export declare type ListTimelineV2Result = DataMetaAndIncludeV2<ListV2[], {
result_count: number;
previous_token?: string;
next_token?: string;
}, TListV2Includes>;
export declare type ListCreateV2Result = DataV2<{
id: string;
name: string;
}>;
export declare type ListUpdateV2Params = Omit<ListCreateV2Params, 'name'> & {
name?: string;
};
export declare type ListUpdateV2Result = DataV2<{
updated: true;
}>;
export declare type ListDeleteV2Result = DataV2<{
deleted: true;
}>;
export declare type ListMemberV2Result = DataV2<{
is_member: boolean;
}>;
export declare type ListFollowV2Result = DataV2<{
following: boolean;
}>;
export declare type ListPinV2Result = DataV2<{
pinned: boolean;
}>;