/** * Input validation utilities and schemas */ import { z } from 'zod'; /** * Ticker symbol validation * - 1-10 characters * - Alphanumeric, dots, dashes allowed * - For crypto, format like BTC-USD */ export declare const symbolSchema: z.ZodString; /** * Interval validation for historical data */ export declare const intervalSchema: z.ZodEnum<["1m", "5m", "15m", "30m", "1h", "1d", "1wk", "1mo"]>; /** * Date validation - accepts ISO strings or Date objects */ export declare const dateSchema: z.ZodUnion<[z.ZodString, z.ZodString, z.ZodDate, z.ZodString]>; /** * Indicator type validation */ export declare const indicatorTypeSchema: z.ZodEnum<["rsi", "macd", "sma", "ema", "bollinger_bands", "stochastic"]>; /** * Quote tool input schema */ export declare const getQuoteInputSchema: z.ZodObject<{ symbol: z.ZodString; fields: z.ZodOptional>; }, "strip", z.ZodTypeAny, { symbol: string; fields?: string[] | undefined; }, { symbol: string; fields?: string[] | undefined; }>; /** * Historical data tool input schema */ export declare const getHistoricalInputSchema: z.ZodObject<{ symbol: z.ZodString; period1: z.ZodUnion<[z.ZodString, z.ZodString, z.ZodDate, z.ZodString]>; period2: z.ZodOptional>; interval: z.ZodEnum<["1m", "5m", "15m", "30m", "1h", "1d", "1wk", "1mo"]>; }, "strip", z.ZodTypeAny, { symbol: string; period1: string | Date; interval: "1m" | "5m" | "15m" | "30m" | "1h" | "1d" | "1wk" | "1mo"; period2?: string | Date | undefined; }, { symbol: string; period1: string | Date; interval: "1m" | "5m" | "15m" | "30m" | "1h" | "1d" | "1wk" | "1mo"; period2?: string | Date | undefined; }>; /** * Calculate indicator tool input schema */ export declare const calculateIndicatorInputSchema: z.ZodObject<{ symbol: z.ZodString; indicator: z.ZodEnum<["rsi", "macd", "sma", "ema", "bollinger_bands", "stochastic"]>; period: z.ZodOptional; interval: z.ZodOptional>; startDate: z.ZodOptional>; }, "strip", z.ZodTypeAny, { symbol: string; indicator: "rsi" | "macd" | "sma" | "ema" | "bollinger_bands" | "stochastic"; period?: number | undefined; interval?: "1m" | "5m" | "15m" | "30m" | "1h" | "1d" | "1wk" | "1mo" | undefined; startDate?: string | Date | undefined; }, { symbol: string; indicator: "rsi" | "macd" | "sma" | "ema" | "bollinger_bands" | "stochastic"; period?: number | undefined; interval?: "1m" | "5m" | "15m" | "30m" | "1h" | "1d" | "1wk" | "1mo" | undefined; startDate?: string | Date | undefined; }>; /** * Search ticker tool input schema */ export declare const searchTickerInputSchema: z.ZodObject<{ query: z.ZodString; limit: z.ZodDefault>; }, "strip", z.ZodTypeAny, { query: string; limit: number; }, { query: string; limit?: number | undefined; }>; /** * Market news tool input schema */ export declare const getMarketNewsInputSchema: z.ZodObject<{ symbol: z.ZodOptional; limit: z.ZodOptional; comprehensive: z.ZodOptional; }, "strip", z.ZodTypeAny, { symbol?: string | undefined; limit?: number | undefined; comprehensive?: boolean | undefined; }, { symbol?: string | undefined; limit?: number | undefined; comprehensive?: boolean | undefined; }>; /** * Transaction type validation for insider trades */ export declare const transactionTypeSchema: z.ZodEnum<["buy", "sell", "all"]>; /** * Insider trades tool input schema */ export declare const getInsiderTradesInputSchema: z.ZodObject<{ symbol: z.ZodOptional; limit: z.ZodOptional; transactionType: z.ZodOptional>; startDate: z.ZodOptional>; includeCompanyInfo: z.ZodOptional; formType: z.ZodOptional>; }, "strip", z.ZodTypeAny, { symbol?: string | undefined; startDate?: string | Date | undefined; limit?: number | undefined; transactionType?: "buy" | "sell" | "all" | undefined; includeCompanyInfo?: boolean | undefined; formType?: "5" | "3" | "4" | undefined; }, { symbol?: string | undefined; startDate?: string | Date | undefined; limit?: number | undefined; transactionType?: "buy" | "sell" | "all" | undefined; includeCompanyInfo?: boolean | undefined; formType?: "5" | "3" | "4" | undefined; }>; /** * Batch quote tool input schema */ export declare const getBatchQuoteInputSchema: z.ZodObject<{ symbols: z.ZodArray; }, "strip", z.ZodTypeAny, { symbols: string[]; }, { symbols: string[]; }>; /** * Validate and parse input */ export declare function validateInput(schema: z.ZodSchema, input: unknown): T; /** * Parse relative date strings to Date objects */ export declare function parseRelativeDate(dateStr: string): Date; /** * Validate date range */ export declare function validateDateRange(period1: Date, period2?: Date): void; //# sourceMappingURL=validators.d.ts.map