import { ConditionState } from '@azuro-org/toolkit';
export type UseConditionStateProps = {
    conditionId: string;
    initialState?: ConditionState;
    isInitiallyHidden?: boolean;
};
/**
 * Watch real-time condition state updates for a single condition.
 * Subscribes to condition updates via websocket and tracks state changes (Active, Stopped, Resolved, etc.).
 * Requires `FeedSocketProvider` and `ConditionUpdatesProvider` (both are included in `AzuroSDKProvider`).
 *
 * Returns `isLocked` helper to check if the condition is not Active.
 * Returns `isHidden` helper to check if the condition may be hidden from the list of game markets.
 *
 * The `isHidden` field indicates whether a condition may be hidden from the game markets list.
 * It starts as `true` for stopped secondary conditions in `ConditionDetailedData`.
 * When a socket update arrives for a hidden condition, it is set back to `false` —
 * meaning the condition is still alive and was only temporarily stopped by the provider.
 *
 * - Docs: https://gem.azuro.org/hub/apps/sdk/watch/useConditionState
 *
 * @example
 * import { useConditionState } from '@azuro-org/sdk'
 * import { ConditionState, type ConditionDetailedData } from '@azuro-org/toolkit'
 *
 * const { data: state, isLocked, isFetching } = useConditionState({
 *   conditionId: condition.conditionId,
 *   initialState: condition.state, // ConditionState.Active, ConditionState.Stopped, etc.
 *   isInitiallyHidden: condition.hidden, // boolean, comes from API ConditionDetailedData['hidden']
 * })
 * */
export declare const useConditionState: ({ conditionId, initialState, isInitiallyHidden }: UseConditionStateProps) => {
    data: ConditionState;
    isHidden: boolean | undefined;
    isLocked: boolean;
    isFetching: boolean;
};
