import * as t from 'io-ts';
import * as P from 'parser-ts/Parser';
import { BybitTimeframeAst } from '../BybitTimeframe';
/*********************************************************************
 * Parser combinators
 ********************************************************************/
declare type BybitKlineSubscriptionRequestAst = {
    channel: string;
    interval: BybitTimeframeAst;
    symbol: string;
};
export declare const Parser: P.Parser<string, BybitKlineSubscriptionRequestAst>;
/*********************************************************************
 * Codecs
 ********************************************************************/
export declare const BybitKlineSubscriptionRequest: t.TypeC<{
    channel: t.LiteralC<"klineV2">;
    interval: t.UnionC<[t.TypeC<{
        quantifier: t.IntersectionC<[t.BrandC<t.NumberC, t.IntBrand>, t.UnionC<[t.LiteralC<1>, t.LiteralC<60>]>]>;
        unit: t.LiteralC<"minute">;
    }>, t.TypeC<{
        quantifier: t.IntersectionC<[t.BrandC<t.NumberC, t.IntBrand>, t.LiteralC<1>]>;
        unit: t.LiteralC<"hour">;
    }>, t.TypeC<{
        quantifier: t.IntersectionC<[t.BrandC<t.NumberC, t.IntBrand>, t.LiteralC<1>]>;
        unit: t.LiteralC<"day">;
    }>, t.TypeC<{
        quantifier: t.IntersectionC<[t.BrandC<t.NumberC, t.IntBrand>, t.LiteralC<1>]>;
        unit: t.LiteralC<"week">;
    }>]>;
    symbol: t.KeyofC<Record<"BTCUSD" | "ETHUSD" | "EOSUSD" | "XRPUSD" | "BTCUSDT" | "ETHUSDT" | "AXSUSDT" | "XRPUSDT" | "DOGEUSDT" | "EOSUSDT" | "THETAUSDT" | "TRXUSDT" | "COMPUSDT" | "XLMUSDT" | "ADAUSDT" | "DOTUSDT" | "BNBUSDT" | "LTCUSDT" | "ETCUSDT" | "MATICUSDT" | "LINKUSDT" | "AAVEUSDT" | "BCHUSDT" | "SOLUSDT" | "UNIUSDT" | "FILUSDT" | "SUSHIUSDT" | "XTZUSDT" | "XEMUSDT", null>>;
}>;
export declare type BybitKlineSubscriptionRequest = t.TypeOf<typeof BybitKlineSubscriptionRequest>;
export declare const BybitKlineSubscriptionRequestFromString: t.Type<{
    channel: "klineV2";
    interval: {
        quantifier: number & t.Brand<t.IntBrand> & (1 | 60);
        unit: "minute";
    } | {
        quantifier: t.Brand<t.IntBrand> & 1;
        unit: "hour";
    } | {
        quantifier: t.Brand<t.IntBrand> & 1;
        unit: "day";
    } | {
        quantifier: t.Brand<t.IntBrand> & 1;
        unit: "week";
    };
    symbol: "BTCUSD" | "ETHUSD" | "EOSUSD" | "XRPUSD" | "BTCUSDT" | "ETHUSDT" | "AXSUSDT" | "XRPUSDT" | "DOGEUSDT" | "EOSUSDT" | "THETAUSDT" | "TRXUSDT" | "COMPUSDT" | "XLMUSDT" | "ADAUSDT" | "DOTUSDT" | "BNBUSDT" | "LTCUSDT" | "ETCUSDT" | "MATICUSDT" | "LINKUSDT" | "AAVEUSDT" | "BCHUSDT" | "SOLUSDT" | "UNIUSDT" | "FILUSDT" | "SUSHIUSDT" | "XTZUSDT" | "XEMUSDT";
}, string, unknown>;
export {};
//# sourceMappingURL=BybitKlineSubscriptionRequest.d.ts.map