import { Duration, Distance, Optional } from '../../../common';
import { DeviceModel } from '../devices.model';
import { DeviceOpState } from './device.state';
export type PresenceStateTypeName<PresenceType extends string> = `presence-${PresenceType}`;
export declare const PresenceStateName: <PresenceType extends string>(type: PresenceType) => PresenceStateTypeName<PresenceType>;
export type PresenceData = {
    type: string;
    detected: boolean;
    duration?: Duration;
    distance?: Distance;
};
export declare class PresenceState<PresenceType extends string = 'basic'> extends DeviceOpState<PresenceStateTypeName<PresenceType>, Optional<PresenceData>> {
    private readonly presenceType;
    constructor(device: DeviceModel, presenceType: PresenceType, opType?: number, ...identifier: number[]);
    parseOpCommand(opCommand: number[]): void;
}
//# sourceMappingURL=presence.state.d.ts.map