import { z } from 'zod';
import { Technicals } from '@gviper/alphavantage-api';
declare const TechnicalIndicatorBaseSchema: z.ZodObject<{
    symbol: z.ZodString;
    interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
    time_period: z.ZodNumber;
    series_type: z.ZodEnum<["close", "open", "high", "low"]>;
    datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
}, "strip", z.ZodTypeAny, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    time_period: number;
    series_type: "close" | "open" | "high" | "low";
    datatype?: "json" | "csv" | undefined;
}, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    time_period: number;
    series_type: "close" | "open" | "high" | "low";
    datatype?: "json" | "csv" | undefined;
}>;
declare const MACDParamsSchema: z.ZodObject<{
    symbol: z.ZodString;
    interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
    series_type: z.ZodEnum<["close", "open", "high", "low"]>;
    fastperiod: z.ZodOptional<z.ZodNumber>;
    slowperiod: z.ZodOptional<z.ZodNumber>;
    signalperiod: z.ZodOptional<z.ZodNumber>;
    datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
}, "strip", z.ZodTypeAny, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    series_type: "close" | "open" | "high" | "low";
    datatype?: "json" | "csv" | undefined;
    fastperiod?: number | undefined;
    slowperiod?: number | undefined;
    signalperiod?: number | undefined;
}, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    series_type: "close" | "open" | "high" | "low";
    datatype?: "json" | "csv" | undefined;
    fastperiod?: number | undefined;
    slowperiod?: number | undefined;
    signalperiod?: number | undefined;
}>;
declare const STOCHParamsSchema: z.ZodObject<{
    symbol: z.ZodString;
    interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
    fastkperiod: z.ZodOptional<z.ZodNumber>;
    slowkperiod: z.ZodOptional<z.ZodNumber>;
    slowdperiod: z.ZodOptional<z.ZodNumber>;
    slowkmatype: z.ZodOptional<z.ZodNumber>;
    slowdmatype: z.ZodOptional<z.ZodNumber>;
    datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
}, "strip", z.ZodTypeAny, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    datatype?: "json" | "csv" | undefined;
    fastkperiod?: number | undefined;
    slowkperiod?: number | undefined;
    slowdperiod?: number | undefined;
    slowkmatype?: number | undefined;
    slowdmatype?: number | undefined;
}, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    datatype?: "json" | "csv" | undefined;
    fastkperiod?: number | undefined;
    slowkperiod?: number | undefined;
    slowdperiod?: number | undefined;
    slowkmatype?: number | undefined;
    slowdmatype?: number | undefined;
}>;
declare const BBANDSParamsSchema: z.ZodObject<{
    symbol: z.ZodString;
    interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
    time_period: z.ZodNumber;
    series_type: z.ZodEnum<["close", "open", "high", "low"]>;
    nbdevup: z.ZodOptional<z.ZodNumber>;
    nbdevdn: z.ZodOptional<z.ZodNumber>;
    matype: z.ZodOptional<z.ZodNumber>;
    datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
}, "strip", z.ZodTypeAny, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    time_period: number;
    series_type: "close" | "open" | "high" | "low";
    datatype?: "json" | "csv" | undefined;
    nbdevup?: number | undefined;
    nbdevdn?: number | undefined;
    matype?: number | undefined;
}, {
    symbol: string;
    interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
    time_period: number;
    series_type: "close" | "open" | "high" | "low";
    datatype?: "json" | "csv" | undefined;
    nbdevup?: number | undefined;
    nbdevdn?: number | undefined;
    matype?: number | undefined;
}>;
export declare function createTechnicalTools(technicals: Technicals): {
    av_technical_sma: {
        description: string;
        inputSchema: z.ZodObject<{
            symbol: z.ZodString;
            interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
            time_period: z.ZodNumber;
            series_type: z.ZodEnum<["close", "open", "high", "low"]>;
            datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }>;
        handler: (params: z.infer<typeof TechnicalIndicatorBaseSchema>) => Promise<import("@gviper/alphavantage-api").SingleValueIndicatorResponse>;
    };
    av_technical_ema: {
        description: string;
        inputSchema: z.ZodObject<{
            symbol: z.ZodString;
            interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
            time_period: z.ZodNumber;
            series_type: z.ZodEnum<["close", "open", "high", "low"]>;
            datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }>;
        handler: (params: z.infer<typeof TechnicalIndicatorBaseSchema>) => Promise<import("@gviper/alphavantage-api").SingleValueIndicatorResponse>;
    };
    av_technical_wma: {
        description: string;
        inputSchema: z.ZodObject<{
            symbol: z.ZodString;
            interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
            time_period: z.ZodNumber;
            series_type: z.ZodEnum<["close", "open", "high", "low"]>;
            datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }>;
        handler: (params: z.infer<typeof TechnicalIndicatorBaseSchema>) => Promise<import("@gviper/alphavantage-api").SingleValueIndicatorResponse>;
    };
    av_technical_macd: {
        description: string;
        inputSchema: z.ZodObject<{
            symbol: z.ZodString;
            interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
            series_type: z.ZodEnum<["close", "open", "high", "low"]>;
            fastperiod: z.ZodOptional<z.ZodNumber>;
            slowperiod: z.ZodOptional<z.ZodNumber>;
            signalperiod: z.ZodOptional<z.ZodNumber>;
            datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
            fastperiod?: number | undefined;
            slowperiod?: number | undefined;
            signalperiod?: number | undefined;
        }, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
            fastperiod?: number | undefined;
            slowperiod?: number | undefined;
            signalperiod?: number | undefined;
        }>;
        handler: (params: z.infer<typeof MACDParamsSchema>) => Promise<import("@gviper/alphavantage-api").MACDResponse>;
    };
    av_technical_stoch: {
        description: string;
        inputSchema: z.ZodObject<{
            symbol: z.ZodString;
            interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
            fastkperiod: z.ZodOptional<z.ZodNumber>;
            slowkperiod: z.ZodOptional<z.ZodNumber>;
            slowdperiod: z.ZodOptional<z.ZodNumber>;
            slowkmatype: z.ZodOptional<z.ZodNumber>;
            slowdmatype: z.ZodOptional<z.ZodNumber>;
            datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            datatype?: "json" | "csv" | undefined;
            fastkperiod?: number | undefined;
            slowkperiod?: number | undefined;
            slowdperiod?: number | undefined;
            slowkmatype?: number | undefined;
            slowdmatype?: number | undefined;
        }, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            datatype?: "json" | "csv" | undefined;
            fastkperiod?: number | undefined;
            slowkperiod?: number | undefined;
            slowdperiod?: number | undefined;
            slowkmatype?: number | undefined;
            slowdmatype?: number | undefined;
        }>;
        handler: (params: z.infer<typeof STOCHParamsSchema>) => Promise<import("@gviper/alphavantage-api").STOCHResponse>;
    };
    av_technical_rsi: {
        description: string;
        inputSchema: z.ZodObject<{
            symbol: z.ZodString;
            interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
            time_period: z.ZodNumber;
            series_type: z.ZodEnum<["close", "open", "high", "low"]>;
            datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
        }>;
        handler: (params: z.infer<typeof TechnicalIndicatorBaseSchema>) => Promise<import("@gviper/alphavantage-api").SingleValueIndicatorResponse>;
    };
    av_technical_bbands: {
        description: string;
        inputSchema: z.ZodObject<{
            symbol: z.ZodString;
            interval: z.ZodEnum<["1min", "5min", "15min", "30min", "60min", "daily", "weekly", "monthly"]>;
            time_period: z.ZodNumber;
            series_type: z.ZodEnum<["close", "open", "high", "low"]>;
            nbdevup: z.ZodOptional<z.ZodNumber>;
            nbdevdn: z.ZodOptional<z.ZodNumber>;
            matype: z.ZodOptional<z.ZodNumber>;
            datatype: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
        }, "strip", z.ZodTypeAny, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
            nbdevup?: number | undefined;
            nbdevdn?: number | undefined;
            matype?: number | undefined;
        }, {
            symbol: string;
            interval: "1min" | "5min" | "15min" | "30min" | "60min" | "daily" | "weekly" | "monthly";
            time_period: number;
            series_type: "close" | "open" | "high" | "low";
            datatype?: "json" | "csv" | undefined;
            nbdevup?: number | undefined;
            nbdevdn?: number | undefined;
            matype?: number | undefined;
        }>;
        handler: (params: z.infer<typeof BBANDSParamsSchema>) => Promise<import("@gviper/alphavantage-api").BBANDSResponse>;
    };
};
export {};
//# sourceMappingURL=technicals.d.ts.map