import { type OperationName } from './twitter-client-constants.js'; import type { CurrentUserResult, TwitterClientOptions } from './twitter-client-types.js'; export type Constructor = new (...args: any[]) => T; export type AbstractConstructor = abstract new (...args: any[]) => T; export type Mixin, TAdded> = abstract new (...args: ConstructorParameters) => TwitterClientBase & TAdded; export declare abstract class TwitterClientBase { protected authToken: string; protected ct0: string; protected cookieHeader: string; protected userAgent: string; protected timeoutMs?: number; protected quoteDepth: number; protected clientUuid: string; protected clientDeviceId: string; protected clientUserId?: string; constructor(options: TwitterClientOptions); protected abstract getCurrentUser(): Promise; protected sleep(ms: number): Promise; protected getQueryId(operationName: OperationName): Promise; protected refreshQueryIds(): Promise; protected withRefreshedQueryIdsOn404(attempt: () => Promise): Promise<{ result: T; refreshed: boolean; }>; protected getTweetDetailQueryIds(): Promise; protected getSearchTimelineQueryIds(): Promise; protected fetchWithTimeout(url: string, init: RequestInit): Promise; protected getHeaders(): Record; protected createTransactionId(): string; protected getBaseHeaders(): Record; protected getJsonHeaders(): Record; protected getUploadHeaders(): Record; protected ensureClientUserId(): Promise; } //# sourceMappingURL=twitter-client-base.d.ts.map