import React from 'react';
import { type ConditionState, type OutcomeState } from '@azuro-org/toolkit';
export type ConditionUpdatesContextValue = {
    isSocketReady: boolean;
    subscribeToUpdates: (conditionIds: string[]) => void;
    unsubscribeToUpdates: (conditionIds: string[]) => void;
};
declare enum Event {
    Subscribe = "SubscribeConditions",
    Unsubscribe = "UnsubscribeConditions",
    Update = "ConditionUpdated"
}
export type ConditionData = {
    id: string;
    gameId: string;
    maxConditionPotentialLoss: string;
    maxOutcomePotentialLoss: string;
    isPrematchEnabled: boolean;
    isLiveEnabled: boolean;
    isCashoutEnabled: boolean;
    state: ConditionState;
    outcomes: {
        outcomeId: number;
        title: string | null;
        currentOdds: string;
        turnover: string;
        state: OutcomeState;
        hidden: boolean;
    }[];
};
export type SocketData = {
    event: Event;
    data: ConditionData;
};
export type ConditionUpdatedData = {
    conditionId: string;
    state: ConditionState;
    gameId: string;
    isLiveEnabled: boolean;
    isPrematchEnabled: boolean;
    isCashoutEnabled: boolean;
    outcomes: {
        outcomeId: number;
        title: string | null;
        currentOdds: string;
        turnover: string;
        state: OutcomeState;
        hidden: boolean;
    }[];
};
export type OutcomeUpdateData = {
    odds: number;
    turnover: string;
    state: OutcomeState;
    hidden: boolean;
};
export declare const useConditionUpdates: () => ConditionUpdatesContextValue;
export declare const ConditionUpdatesProvider: React.FC<any>;
export {};
