abstract class Client {
public abstract init(params: {
metadata?: AppMetadata;
}): Promise<void>;
public abstract connect(params: {
requiredNamespaces: Map<string, ProposalNamespace>;
relays?: RelayProtocolOptions[];
pairingTopic: string;
}): Promise<Sequence>;
public abstract approve(params: {
id: number;
namespaces: Map<string, SessionNamespace>;
relayProtocol?: string;
}): Promise<Sequence>;
public abstract reject(params: {
proposerPublicKey: string;
reason: Reason;
}): Promise<void>;
public abstract update(params: {
topic: string;
namespaces: Map<string, SessionNamespace>;
}): Promise<void>;
public abstract extend(params: {
topic: string;
}): Promise<void>;
public abstract request(params: {
topic: string;
request: RequestArguments;
chainId: string;
}): Promise<any>;
public abstract respond(params: {
topic: string;
response: JsonRpcResponse;
}): Promise<void>;
public abstract emit(params: {
topic: string;
event: SessionEvent;
chainId: string;
}): Promise<void>;
public abstract ping(params: {
topic: string;
}): Promise<void>;
public abstract disconnect(params: {
topic: string;
reason: Reason;
}): Promise<void>;
public abstract on("session_proposal", (sessionProposal: SessionProposal) => {}): void;
public abstract on("session_request", (sessionRequest: SessionRequest) => {}): void;
public abstract on("session_event", (sessionEvent: SessionEvent) => {}): void;
}