import type { SeamActionAttemptFailedError, SeamActionAttemptTimeoutError, SeamHttpApiError } from '@seamapi/http/connect';
import type { ActionAttempt, Device } from '@seamapi/types/connect';
import { type UseMutationResult } from '@tanstack/react-query';
export type UseToggleLockData = undefined;
export type UseToggleLockMutationVariables = Pick<Device, 'device_id'> & {
    properties: Required<Pick<Device['properties'], 'locked'>>;
};
type ToggleLockActionAttempt = Extract<ActionAttempt, {
    action_type: 'LOCK_DOOR';
}> | Extract<ActionAttempt, {
    action_type: 'UNLOCK_DOOR';
}>;
type MutationError = SeamHttpApiError | SeamActionAttemptFailedError<ToggleLockActionAttempt> | SeamActionAttemptTimeoutError<ToggleLockActionAttempt>;
interface UseToggleLockParams {
    onError?: () => void;
    onSuccess?: () => void;
}
export declare function useToggleLock(params?: UseToggleLockParams): UseMutationResult<UseToggleLockData, MutationError, UseToggleLockMutationVariables>;
export {};
