/**
 * Lightweight validation helpers for QuantRisk MCP.
 *
 * These are NOT Zod schemas — they are plain boolean/throwing helpers
 * used in service and middleware code where we want typed errors rather
 * than Zod parse errors. The canonical Zod schemas live in src/schemas/.
 */
/**
 * Returns true if `s` is a valid ticker symbol.
 * Valid: uppercase letters only, 1–10 chars (e.g. "AAPL", "BRK.A" is NOT valid here).
 * The spec explicitly says uppercase 1-10 chars — no dots, no hyphens.
 */
export declare function isValidTicker(s: string): boolean;
/**
 * Assert that `s` is a valid ticker symbol.
 * Throws `InvalidInputError` if not.
 */
export declare function validateTicker(s: string, fieldName?: string): void;
/**
 * Returns true if `s` is a valid ISO date string in YYYY-MM-DD format.
 * Also verifies the date is a real calendar date (no Feb 30, etc.).
 */
export declare function isValidDate(s: string): boolean;
/**
 * Assert that `s` is a valid ISO date string.
 * Throws `InvalidInputError` if not.
 */
export declare function validateDate(s: string, fieldName?: string): void;
/**
 * Assert that `s` is a valid ISO date AND is in the future relative to now.
 * Used for option expiry validation.
 * Throws `InvalidInputError` if not valid or not future.
 */
export declare function validateFutureDate(s: string, fieldName?: string): void;
/**
 * Returns true if `n` is a finite, positive number (> 0).
 */
export declare function isPositiveNumber(n: number): boolean;
/**
 * Assert that `n` is a finite, positive number (> 0).
 * Throws `InvalidInputError` if not.
 */
export declare function validatePositiveNumber(n: number, fieldName?: string): void;
/**
 * Assert that `n` is a finite number in the range [min, max] (inclusive).
 * Throws `InvalidInputError` if out of range or non-finite.
 */
export declare function validateNumberInRange(n: number, min: number, max: number, fieldName?: string): void;
/**
 * Assert that `n` is a non-zero finite number (allows negative — useful for quantities).
 * Throws `InvalidInputError` if zero or non-finite.
 */
export declare function validateNonZeroNumber(n: number, fieldName?: string): void;
/**
 * Assert that `arr` has between `min` and `max` elements.
 * Throws `InvalidInputError` if not.
 */
export declare function validateArrayLength<T>(arr: T[], min: number, max: number, fieldName?: string): void;
//# sourceMappingURL=validation.d.ts.map