@tgsnake/core
Version:
Pure Telegram MTProto library for nodejs
69 lines (68 loc) • 2.97 kB
TypeScript
import { Raw } from '../raw/index.js';
import { type SecretChat } from './SecretChat.js';
import { type Buffer } from '../platform.node.js';
type MaybePromise<T> = T | Promise<T>;
export declare abstract class AbstractSession {
protected abstract _ip: string;
protected abstract _dcId: number;
protected abstract _port: number;
protected abstract _peers: Map<bigint, [
id: bigint,
accessHash: bigint,
type: string,
username?: Array<string>,
phoneNumber?: string
]>;
protected abstract _secretChats: Map<number, SecretChat>;
protected abstract _authKey: Buffer;
protected abstract _testMode: boolean;
protected abstract _apiId: number;
protected abstract _userId: bigint;
protected abstract _isBot: boolean;
abstract setAddress(dcId: number, ip: string, port: number, testMode: boolean): MaybePromise<void>;
abstract setAuthKey(authKey: Buffer, dcId: number): MaybePromise<void>;
abstract setApiId(apiId: number): MaybePromise<void>;
abstract setIsBot(isbot: boolean): MaybePromise<void>;
abstract setUserId(userId: bigint): MaybePromise<void>;
abstract get authKey(): Buffer;
abstract get isBot(): boolean;
abstract get testMode(): boolean;
abstract get userId(): bigint;
abstract get apiId(): number;
abstract get dcId(): number;
abstract get port(): number;
abstract get ip(): string;
abstract get peers(): Map<bigint, [
id: bigint,
accessHash: bigint,
type: string,
username?: Array<string>,
phoneNumber?: string
]>;
abstract get secretChats(): Map<number, SecretChat>;
abstract load(): MaybePromise<void>;
abstract delete(): MaybePromise<void>;
abstract save(): MaybePromise<void>;
abstract move(session: AbstractSession): MaybePromise<void>;
abstract updatePeers(peers: Array<[
id: bigint,
accessHash: bigint,
type: string,
username?: Array<string>,
phoneNumber?: string
]>): MaybePromise<void>;
abstract updateSecretChats(chats: Array<SecretChat>): MaybePromise<void>;
abstract getSecretChatById(id: number): MaybePromise<SecretChat | undefined>;
abstract getPeerById(id: bigint): MaybePromise<Raw.InputPeerUser | Raw.InputPeerChat | Raw.InputPeerChannel | undefined>;
abstract getPeerByUsername(username: string): MaybePromise<Raw.InputPeerUser | Raw.InputPeerChat | Raw.InputPeerChannel | undefined>;
abstract getPeerByPhoneNumber(phoneNumber: string): MaybePromise<Raw.InputPeerUser | Raw.InputPeerChat | Raw.InputPeerChannel | undefined>;
abstract removeSecretChatById(id: number): MaybePromise<boolean>;
abstract updatePts(pts: number, date: number): MaybePromise<void>;
abstract getPts(): Promise<[pts: number, date: number]>;
abstract exportString(): string;
abstract toJSON(): {
[key: string]: any;
};
abstract toString(): string;
}
export {};