import { OrderStatus, Side, NetworkWallet } from './';
export interface WsProps {
    topics: any[];
    needApiKey: boolean;
    apikey?: string;
}
export declare enum WsOps {
    Sub = "sub",
    Unsub = "unSub"
}
export declare enum WsTopicType {
    account = "account",
    order = "order",
    trade = "trade",
    mixtrade = "mixtrade",
    ticker = "ticker",
    candlestick = "candlestick",
    ammpool = "ammpool",
    orderbook = "orderbook",
    mixorder = "mixorder",
    btradedepth = "btradedepth",
    crawlTokenPrices = "crawltokenprices",
    notification = "notification",
    vaultAccount = "vaultAccount",
    l2Common = "l2Common"
}
export declare const getCrawlTokenPrices: ({ topic, currency, }: {
    topic?: WsTopicType.crawlTokenPrices | undefined;
} & Omit<{
    currency?: "USD" | undefined;
}, "topic">) => {
    topic: WsTopicType.crawlTokenPrices;
    currency: "USD";
};
export declare const getAccountArg: () => {
    topic: WsTopicType;
};
export interface WsAccount {
    accountId: number;
    totalAmount: string;
    tokenId: number;
    amountLocked: string;
}
export declare const getOrderArg: (market: string) => {
    topic: WsTopicType;
    market: string;
};
export interface WsOrder {
    hash: string;
    clientOrderId: string;
    size: string;
    volume: string;
    price: string;
    filledSize: string;
    filledVolume: string;
    filledFee: string;
    status: OrderStatus;
    createdAt: string;
    validSince: string;
    validUntil: string;
    side: Side;
    market: string;
}
export type OrderWsRequest = {
    topic?: WsTopicType.orderbook | WsTopicType.mixorder | WsTopicType.btradedepth;
    market: string;
    level: number;
    count?: number;
    snapshot?: boolean;
    showOverlap?: boolean;
};
export declare const getOrderBookArg: ({ topic, market, level, count, snapshot, showOverlap, }: OrderWsRequest) => any;
export declare const getMixOrderArg: ({ topic, ...orderWsRequest }: {
    topic?: WsTopicType.mixorder | undefined;
} & Omit<OrderWsRequest, "topic">) => any;
export declare const getBtradeOrderBook: ({ topic, ...orderWsRequest }: {
    topic?: WsTopicType.btradedepth | undefined;
} & Omit<OrderWsRequest, "topic">) => any;
export declare const getTradeArg: (market: string) => {
    topic: WsTopicType;
    market: string;
};
export declare const getMixTradeArg: (market: string) => {
    topic: WsTopicType;
    market: string;
};
export declare const getTickerArg: (market: string) => {
    topic: WsTopicType;
    market: string;
};
export declare const getCandlestickArg: (market: string) => {
    topic: WsTopicType;
    market: string;
};
export declare const getAmmpoolArg: (poolAddress: string) => {
    topic: WsTopicType;
    snapshot: boolean;
    poolAddress: string;
};
export declare const getNotificationArg: ({ address, network, }: {
    address: string;
    network: NetworkWallet;
}) => {
    topic: WsTopicType;
    address: string;
    network: NetworkWallet;
};
export declare const getL2Common: ({ address, network }: {
    address: string;
    network: NetworkWallet;
}) => {
    topic: WsTopicType;
    address: string;
    network: NetworkWallet;
};
export declare enum WS_ACTIONT_YPE {
    VAULT_ACCOUNT_UPDATE = "VAULT_ACCOUNT_UPDATE"
}
export interface WsL2Common {
    accountId: number;
    address: string;
    isUpdated: true;
}
//# sourceMappingURL=ws_defs.d.ts.map