import { z } from "zod";
/** Supported historical scenario identifiers. */
export declare const SCENARIO_VALUES: readonly ["gfc_2008", "covid_2020", "dot_com_2000", "black_monday_1987", "taper_tantrum_2013", "rate_hike_2022", "volmageddon_2018", "euro_crisis_2011"];
export type ScenarioId = (typeof SCENARIO_VALUES)[number];
/**
 * Schema for a custom shock scenario.
 * Available on PAID tier only.
 */
export declare const customShockSchema: z.ZodObject<{
    name: z.ZodString;
    ticker_shocks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    sector_shocks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
    market_shock: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    name: string;
    ticker_shocks?: Record<string, number> | undefined;
    sector_shocks?: Record<string, number> | undefined;
    market_shock?: number | undefined;
}, {
    name: string;
    ticker_shocks?: Record<string, number> | undefined;
    sector_shocks?: Record<string, number> | undefined;
    market_shock?: number | undefined;
}>;
export type CustomShockInput = z.infer<typeof customShockSchema>;
/**
 * Input schema for the `stress_test` MCP tool.
 *
 * Tests portfolio performance against historical crisis scenarios
 * or custom shock definitions.
 */
export declare const stressTestSchema: z.ZodObject<{
    positions: z.ZodArray<z.ZodObject<{
        ticker: z.ZodString;
        quantity: z.ZodEffects<z.ZodNumber, number, number>;
        cost_basis: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        ticker: string;
        quantity: number;
        cost_basis?: number | null | undefined;
    }, {
        ticker: string;
        quantity: number;
        cost_basis?: number | null | undefined;
    }>, "many">;
    scenarios: z.ZodDefault<z.ZodArray<z.ZodEnum<[string, ...string[]]>, "many">>;
    custom_shocks: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        ticker_shocks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        sector_shocks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        market_shock: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        ticker_shocks?: Record<string, number> | undefined;
        sector_shocks?: Record<string, number> | undefined;
        market_shock?: number | undefined;
    }, {
        name: string;
        ticker_shocks?: Record<string, number> | undefined;
        sector_shocks?: Record<string, number> | undefined;
        market_shock?: number | undefined;
    }>, "many">>>;
}, "strip", z.ZodTypeAny, {
    positions: {
        ticker: string;
        quantity: number;
        cost_basis?: number | null | undefined;
    }[];
    scenarios: string[];
    custom_shocks?: {
        name: string;
        ticker_shocks?: Record<string, number> | undefined;
        sector_shocks?: Record<string, number> | undefined;
        market_shock?: number | undefined;
    }[] | null | undefined;
}, {
    positions: {
        ticker: string;
        quantity: number;
        cost_basis?: number | null | undefined;
    }[];
    scenarios?: string[] | undefined;
    custom_shocks?: {
        name: string;
        ticker_shocks?: Record<string, number> | undefined;
        sector_shocks?: Record<string, number> | undefined;
        market_shock?: number | undefined;
    }[] | null | undefined;
}>;
export type StressTestInput = z.infer<typeof stressTestSchema>;
//# sourceMappingURL=stress-test.d.ts.map