import React from "react";
import { IPusher, LocalNotificationSettings } from "matrix-js-sdk/src/matrix";
import { FilterVariation } from "./filter";
import { DevicesDictionary, ExtendedDevice } from "./types";
import { DevicesState } from "./useOwnDevices";
interface Props {
    devices: DevicesDictionary;
    pushers: IPusher[];
    localNotificationSettings: Map<string, LocalNotificationSettings>;
    expandedDeviceIds: ExtendedDevice["device_id"][];
    signingOutDeviceIds: ExtendedDevice["device_id"][];
    selectedDeviceIds: ExtendedDevice["device_id"][];
    filter?: FilterVariation;
    onFilterChange: (filter: FilterVariation | undefined) => void;
    onDeviceExpandToggle: (deviceId: ExtendedDevice["device_id"]) => void;
    onSignOutDevices: (deviceIds: ExtendedDevice["device_id"][]) => void;
    saveDeviceName: DevicesState["saveDeviceName"];
    onRequestDeviceVerification?: (deviceId: ExtendedDevice["device_id"]) => void;
    setPushNotifications: (deviceId: string, enabled: boolean) => Promise<void>;
    setSelectedDeviceIds: (deviceIds: ExtendedDevice["device_id"][]) => void;
    supportsMSC3881?: boolean | undefined;
    /**
     * Only allow sessions to be signed out individually
     * Removes checkboxes and multi selection header
     */
    disableMultipleSignout?: boolean;
}
/**
 * Filtered list of devices
 * Sorted by latest activity descending
 */
export declare const FilteredDeviceList: (props: Props & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
export {};
