///
import { Request } from "./Request";
import { Contact, Message } from "./proto/padlocal_pb";
import { WeChatLongLinkProxy } from "./link/WeChatLongLinkProxy";
import { EventEmitter } from "events";
import { PadLocalClientApi } from "./PadLocalClientApi";
import { Message as GrpcMessage } from "google-protobuf";
import { GrpcClient, GrpcOptions } from "./GrpcClient";
import Log from "./utils/Log";
export declare type PadLocalClientEvent = "kickout" | "contact" | "message";
export declare class PadLocalClient extends EventEmitter {
readonly grpcClient: GrpcClient;
readonly token: string;
private readonly _longLinkProxy;
selfContact?: Contact;
readonly api: PadLocalClientApi;
emit(event: "kickout", detail: KickOutEvent): boolean;
emit(event: "contact", contactList: Contact[]): boolean;
emit(event: "message", messageList: Message[]): boolean;
static create(token: string, skipPrintVersion?: boolean): Promise;
private constructor();
get isOnline(): boolean;
get version(): string;
isSelf(userName: string): boolean;
createRequest(options?: Partial): Request;
request(request: REQ, options?: Partial): Promise;
getLongLinkProxy(reset?: boolean): Promise;
getLongLinkProxyDirect(): WeChatLongLinkProxy;
getLongLinkId(): string | undefined;
shutdown(): Promise;
private _reset;
private _processSyncResponse;
}
export interface KickOutEvent {
readonly errorCode: number;
readonly errorMessage: string;
}
export { Log };