Files
matrix-quotes-bot/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts
unfunny dfe4cc537f init
2026-09-13 00:29:11 -04:00

59 lines
2.1 KiB
TypeScript

import { CapabilityPoller } from "./capabilityPoller.ts";
import { type IHttpOpts, type MatrixHttpApi } from "./http-api/index.ts";
import type { Logger } from "./logger.ts";
export interface ICapability {
enabled: boolean;
}
export interface IChangePasswordCapability extends ICapability {
}
export interface IThreadsCapability extends ICapability {
}
export interface IGetLoginTokenCapability extends ICapability {
}
export interface ISetDisplayNameCapability extends ICapability {
}
export interface ISetAvatarUrlCapability extends ICapability {
}
export interface IProfileFieldsCapability extends ICapability {
}
export declare enum RoomVersionStability {
Stable = "stable",
Unstable = "unstable"
}
export interface IRoomVersionsCapability {
default: string;
available: Record<string, RoomVersionStability>;
}
/**
* A representation of the capabilities advertised by a homeserver as defined by
* [Capabilities negotiation](https://spec.matrix.org/v1.6/client-server-api/#get_matrixclientv3capabilities).
*/
export interface Capabilities {
[key: string]: any;
"m.change_password"?: IChangePasswordCapability;
"m.room_versions"?: IRoomVersionsCapability;
"io.element.thread"?: IThreadsCapability;
"m.get_login_token"?: IGetLoginTokenCapability;
"org.matrix.msc3882.get_login_token"?: IGetLoginTokenCapability;
"m.set_displayname"?: ISetDisplayNameCapability;
"m.set_avatar_url"?: ISetAvatarUrlCapability;
"uk.tcpip.msc4133.profile_fields"?: IProfileFieldsCapability;
/**
* Since Matrix v1.16
*/
"m.profile_fields"?: IProfileFieldsCapability;
}
/**
* Manages storing and periodically refreshing the server capabilities.
*/
export declare class ServerCapabilities extends CapabilityPoller<Capabilities> {
constructor(logger: Logger, http: MatrixHttpApi<IHttpOpts & {
onlyData: true;
}>);
/**
* Fetches the latest server capabilities from the homeserver and returns them, or rejects
* on failure.
*/
fetch: () => Promise<Capabilities>;
}
//# sourceMappingURL=serverCapabilities.d.ts.map