import { MatrixClient } from "matrix-js-sdk/src/matrix";
import BasePlatform from "../../BasePlatform";
import { IConfigOptions } from "../../IConfigOptions";
import { DeepReadonly } from "../../@types/common";
export type DeviceClientInformation = {
    name?: string;
    version?: string;
    url?: string;
};
export declare const getClientInformationEventType: (deviceId: string) => string;
/**
 * Record extra client information for the current device
 * https://github.com/vector-im/element-meta/blob/develop/spec/matrix_client_information.md
 */
export declare const recordClientInformation: (matrixClient: MatrixClient, sdkConfig: DeepReadonly<IConfigOptions>, platform?: BasePlatform) => Promise<void>;
/**
 * Remove client information events for devices that no longer exist
 * @param validDeviceIds - ids of current devices,
 *                      client information for devices NOT in this list will be removed
 */
export declare const pruneClientInformation: (validDeviceIds: string[], matrixClient: MatrixClient) => void;
/**
 * Remove extra client information for current device
 */
export declare const removeClientInformation: (matrixClient: MatrixClient) => Promise<void>;
export declare const getDeviceClientInformation: (matrixClient: MatrixClient, deviceId: string) => DeviceClientInformation;
