tgsnake
Version:
Telegram MTProto framework for nodejs.
20 lines (19 loc) • 1.01 kB
TypeScript
import type { Raw } from '../platform.node.js';
import { type MiddlewareFn, type Combine, type NextFn } from '../Context/Composer.js';
import { FilterContext } from '../Context/Filters.js';
import { TypeUpdate, ContextUpdate } from '../TL/Updates/index.js';
export type ConversationWaitFilterFn<T> = (context: T) => boolean;
export declare class Conversation<T> {
protected handler: MiddlewareFn<Combine<Combine<Combine<TypeUpdate, ContextUpdate>, Raw.TypeUpdates>, T>>;
constructor();
middleware(context: Combine<Combine<Combine<TypeUpdate, ContextUpdate>, Raw.TypeUpdates>, T>, next: NextFn): any;
wait<K extends keyof FilterContext>(key: K, filter?: ConversationWaitFilterFn<Combine<Combine<FilterContext[K], ContextUpdate>, T>>): Promise<Combine<Combine<FilterContext[K], ContextUpdate>, T>>;
end(): void;
}
export declare class ConversationJob<T> {
resolve: (result: T) => void;
reject: (error: any) => void;
promise: Promise<T>;
resolved?: boolean;
constructor();
}