import FriendicaAPI from './friendica/api_client'; import WebSocket from './friendica/web_socket'; import { MegalodonInterface } from './megalodon'; import Response from './response'; import Entity from './entity'; import OAuth from './oauth'; export default class Friendica implements MegalodonInterface { client: FriendicaAPI.Interface; baseUrl: string; constructor(baseUrl: string, accessToken?: string | null, userAgent?: string | null); cancel(): void; registerApp(client_name: string, options: Partial<{ scopes: Array; redirect_uris: string; website: string; }>): Promise; createApp(client_name: string, options: Partial<{ scopes: Array; redirect_uris: string; website: string; }>): Promise; generateAuthUrl(clientId: string, clientSecret: string, options: Partial<{ scope: Array; redirect_uri: string | null; }>): Promise; verifyAppCredentials(): Promise>; fetchAccessToken(client_id: string | null, client_secret: string, code: string, redirect_uri?: string): Promise; refreshToken(client_id: string, client_secret: string, refresh_token: string): Promise; revokeToken(client_id: string, client_secret: string, token: string): Promise>>; registerAccount(_username: string, _email: string, _password: string, _agreement: boolean, _locale: string, _reason?: string | null): Promise>; verifyAccountCredentials(): Promise>; updateCredentials(_options?: { discoverable?: boolean; bot?: boolean; display_name?: string; note?: string; avatar?: string; header?: string; locked?: boolean; source?: { privacy?: string; sensitive?: boolean; language?: string; }; fields_attributes?: Array<{ name: string; value: string; }>; }): Promise>; getAccount(id: string): Promise>; getAccountStatuses(id: string, options?: { limit?: number; max_id?: string; since_id?: string; min_id?: string; pinned?: boolean; exclude_replies?: boolean; exclude_reblogs?: boolean; only_media: boolean; }): Promise>>; subscribeAccount(id: string): Promise>; unsubscribeAccount(id: string): Promise>; getAccountFavourites(_id: string, _options?: { limit?: number; max_id?: string; since_id?: string; }): Promise>>; getAccountFollowers(id: string, options?: { limit?: number; max_id?: string; since_id?: string; get_all?: boolean; sleep_ms?: number; }): Promise>>; getAccountFollowing(id: string, options?: { limit?: number; max_id?: string; since_id?: string; get_all?: boolean; sleep_ms?: number; }): Promise>>; private urlToAccounts; getAccountLists(id: string): Promise>>; getIdentityProof(id: string): Promise>>; followAccount(id: string, options?: { reblog?: boolean; }): Promise>; unfollowAccount(id: string): Promise>; blockAccount(id: string): Promise>; unblockAccount(id: string): Promise>; muteAccount(id: string, notifications?: boolean): Promise>; unmuteAccount(id: string): Promise>; pinAccount(_id: string): Promise>; unpinAccount(_id: string): Promise>; getRelationship(id: string): Promise>; getRelationships(ids: Array): Promise>>; searchAccount(q: string, options?: { following?: boolean; resolve?: boolean; limit?: number; max_id?: string; since_id?: string; }): Promise>>; lookupAccount(_acct: string): Promise>; getBookmarks(options?: { limit?: number; max_id?: string; since_id?: string; min_id?: string; }): Promise>>; getFavourites(options?: { limit?: number; max_id?: string; min_id?: string; }): Promise>>; getMutes(options?: { limit?: number; max_id?: string; min_id?: string; }): Promise>>; getBlocks(options?: { limit?: number; max_id?: string; min_id?: string; }): Promise>>; getDomainBlocks(_options?: { limit?: number; max_id?: string; min_id?: string; }): Promise>>; blockDomain(_domain: string): Promise>>; unblockDomain(_domain: string): Promise>>; getFilters(): Promise>>; getFilter(_id: string): Promise>; createFilter(_phrase: string, _context: Array, _options?: { irreversible?: boolean; whole_word?: boolean; expires_in?: string; }): Promise>; updateFilter(_id: string, _phrase: string, _context: Array, _options?: { irreversible?: boolean; whole_word?: boolean; expires_in?: string; }): Promise>; deleteFilter(_id: string): Promise>; report(_account_id: string, _options?: { status_ids?: Array; comment: string; forward?: boolean; category?: Entity.Category; rule_ids?: Array; }): Promise>; getFollowRequests(limit?: number): Promise>>; acceptFollowRequest(id: string): Promise>; rejectFollowRequest(id: string): Promise>; getEndorsements(options?: { limit?: number; max_id?: string; since_id?: string; }): Promise>>; getFeaturedTags(): Promise>>; createFeaturedTag(_name: string): Promise>; deleteFeaturedTag(_id: string): Promise>>; getSuggestedTags(): Promise>>; getPreferences(): Promise>; getFollowedTags(): Promise>>; getSuggestions(limit?: number): Promise>>; getTag(id: string): Promise>; followTag(id: string): Promise>; unfollowTag(id: string): Promise>; postStatus(status: string, options: { media_ids?: Array; poll?: { options: Array; expires_in: number; multiple?: boolean; hide_totals?: boolean; }; in_reply_to_id?: string; sensitive?: boolean; spoiler_text?: string; visibility?: Entity.StatusVisibility; scheduled_at?: string; language?: string; quote_id?: string; }): Promise>; getStatus(id: string): Promise>; editStatus(id: string, options: { status?: string; spoiler_text?: string; sensitive?: boolean; media_ids?: Array; poll?: { options?: Array; expires_in?: number; multiple?: boolean; hide_totals?: boolean; }; }): Promise>; deleteStatus(id: string): Promise>; getStatusContext(id: string, options?: { limit?: number; max_id?: string; since_id?: string; }): Promise>; getStatusSource(id: string): Promise>; getStatusRebloggedBy(id: string): Promise>>; getStatusFavouritedBy(id: string): Promise>>; favouriteStatus(id: string): Promise>; unfavouriteStatus(id: string): Promise>; reblogStatus(id: string): Promise>; unreblogStatus(id: string): Promise>; bookmarkStatus(id: string): Promise>; unbookmarkStatus(id: string): Promise>; muteStatus(id: string): Promise>; unmuteStatus(id: string): Promise>; pinStatus(id: string): Promise>; unpinStatus(id: string): Promise>; uploadMedia(file: any, options?: { description?: string; focus?: string; }): Promise>; getMedia(id: string): Promise>; updateMedia(id: string, options?: { file?: any; description?: string; focus?: string; }): Promise>; getPoll(id: string): Promise>; votePoll(_id: string, _choices: Array): Promise>; getScheduledStatuses(options?: { limit?: number | null; max_id?: string | null; since_id?: string | null; min_id?: string | null; }): Promise>>; getScheduledStatus(id: string): Promise>; scheduleStatus(_id: string, _scheduled_at?: string | null): Promise>; cancelScheduledStatus(id: string): Promise>>; getPublicTimeline(options?: { only_media?: boolean; limit?: number; max_id?: string; since_id?: string; min_id?: string; }): Promise>>; getLocalTimeline(options?: { only_media?: boolean; limit?: number; max_id?: string; since_id?: string; min_id?: string; }): Promise>>; getTagTimeline(hashtag: string, options?: { local?: boolean; only_media?: boolean; limit?: number; max_id?: string; since_id?: string; min_id?: string; }): Promise>>; getHomeTimeline(options?: { local?: boolean; limit?: number; max_id?: string; since_id?: string; min_id?: string; }): Promise>>; getListTimeline(list_id: string, options?: { limit?: number; max_id?: string; since_id?: string; min_id?: string; }): Promise>>; getConversationTimeline(options?: { limit?: number; max_id?: string; since_id?: string; min_id?: string; }): Promise>>; deleteConversation(id: string): Promise>>; readConversation(id: string): Promise>; getLists(): Promise>>; getList(id: string): Promise>; createList(title: string): Promise>; updateList(id: string, title: string): Promise>; deleteList(id: string): Promise>>; getAccountsInList(id: string, options?: { limit?: number; max_id?: string; since_id?: string; }): Promise>>; addAccountsToList(id: string, account_ids: Array): Promise>>; deleteAccountsFromList(id: string, account_ids: Array): Promise>>; getMarkers(_timeline: Array): Promise>>; saveMarkers(_options?: { home?: { last_read_id: string; }; notifications?: { last_read_id: string; }; }): Promise>; getNotifications(options?: { limit?: number; max_id?: string; since_id?: string; min_id?: string; exclude_types?: Array; account_id?: string; }): Promise>>; getNotification(id: string): Promise>; dismissNotifications(): Promise>>; dismissNotification(id: string): Promise>>; readNotifications(_options: { id?: string; max_id?: string; }): Promise>>; subscribePushNotification(subscription: { endpoint: string; keys: { p256dh: string; auth: string; }; }, data?: { alerts: { follow?: boolean; favourite?: boolean; reblog?: boolean; mention?: boolean; poll?: boolean; }; } | null): Promise>; getPushSubscription(): Promise>; updatePushSubscription(data?: { alerts: { follow?: boolean; favourite?: boolean; reblog?: boolean; mention?: boolean; poll?: boolean; }; } | null): Promise>; deletePushSubscription(): Promise>>; search(q: string, options?: { type?: 'accounts' | 'hashtags' | 'statuses'; limit?: number; max_id?: string; min_id?: string; resolve?: boolean; offset?: number; following?: boolean; account_id?: string; exclude_unreviewed?: boolean; }): Promise>; getInstance(): Promise>; getInstancePeers(): Promise>>; getInstanceActivity(): Promise>>; getInstanceTrends(limit?: number | null): Promise>>; getInstanceDirectory(options?: { limit?: number; offset?: number; order?: 'active' | 'new'; local?: boolean; }): Promise>>; getInstanceCustomEmojis(): Promise>>; getInstanceAnnouncements(): Promise>>; dismissInstanceAnnouncement(_id: string): Promise>>; addReactionToAnnouncement(_id: string, _name: string): Promise>>; removeReactionFromAnnouncement(_id: string, _name: string): Promise>>; createEmojiReaction(_id: string, _emoji: string): Promise>; deleteEmojiReaction(_id: string, _emoji: string): Promise>; getEmojiReactions(_id: string): Promise>>; getEmojiReaction(_id: string, _emoji: string): Promise>; streamingURL(): Promise; userStreaming(): Promise; publicStreaming(): Promise; localStreaming(): Promise; tagStreaming(tag: string): Promise; listStreaming(list_id: string): Promise; directStreaming(): Promise; userStreamingSubscription(): Promise; publicStreamingSubscription(_socket: any): Promise; localStreamingSubscription(_socket: any): Promise; tagStreamingSubscription(_socket: any, tag: string): Promise; listStreamingSubscription(_socket: any, list_id: string): Promise; directStreamingSubscription(_socket: any): Promise; }