import { z } from 'zod';
export declare const updateSettingsSchema: z.ZodObject<{
    userMode: z.ZodOptional<z.ZodEnum<{
        simple: "simple";
        trader: "trader";
        pro: "pro";
    }>>;
    baseCapital: z.ZodOptional<z.ZodNumber>;
    leverage: z.ZodOptional<z.ZodNumber>;
    fundingThreshold: z.ZodOptional<z.ZodNumber>;
    stochRsiHighThreshold: z.ZodOptional<z.ZodNumber>;
    stochRsiLowThreshold: z.ZodOptional<z.ZodNumber>;
    soundAlerts: z.ZodOptional<z.ZodBoolean>;
    desktopNotifications: z.ZodOptional<z.ZodBoolean>;
    theme: z.ZodOptional<z.ZodEnum<{
        dark: "dark";
        light: "light";
    }>>;
    binanceApiKey: z.ZodOptional<z.ZodString>;
    binanceApiSecret: z.ZodOptional<z.ZodString>;
    telegramBotToken: z.ZodOptional<z.ZodString>;
    telegramChatId: z.ZodOptional<z.ZodString>;
    autoTrade: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        mode: z.ZodEnum<{
            semi: "semi";
            auto: "auto";
        }>;
        maxDailyLoss: z.ZodOptional<z.ZodNumber>;
        maxDailyTrades: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    indicatorToggles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
    scoreConfig: z.ZodOptional<z.ZodObject<{
        longThreshold: z.ZodOptional<z.ZodNumber>;
        shortThreshold: z.ZodOptional<z.ZodNumber>;
        highConfidenceLong: z.ZodOptional<z.ZodNumber>;
        highConfidenceShort: z.ZodOptional<z.ZodNumber>;
        weights: z.ZodOptional<z.ZodObject<{
            structure: z.ZodOptional<z.ZodNumber>;
            macd: z.ZodOptional<z.ZodNumber>;
            stochRsi: z.ZodOptional<z.ZodNumber>;
            volume: z.ZodOptional<z.ZodNumber>;
            funding: z.ZodOptional<z.ZodNumber>;
            emaAlignment: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    riskConfig: z.ZodOptional<z.ZodObject<{
        slMode: z.ZodOptional<z.ZodEnum<{
            auto: "auto";
            atr: "atr";
            fixed: "fixed";
        }>>;
        slFixedPercent: z.ZodOptional<z.ZodNumber>;
        atrMultiplier: z.ZodOptional<z.ZodNumber>;
        tpMode: z.ZodOptional<z.ZodEnum<{
            fixed: "fixed";
            rr: "rr";
        }>>;
        tpFixedPercent: z.ZodOptional<z.ZodNumber>;
        rrRatio: z.ZodOptional<z.ZodNumber>;
        useSmartMoneySR: z.ZodOptional<z.ZodBoolean>;
        minSlPercent: z.ZodOptional<z.ZodNumber>;
        maxSlPercent: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    indicatorPeriods: z.ZodOptional<z.ZodObject<{
        rsiPeriod: z.ZodOptional<z.ZodNumber>;
        stochRsiPeriod: z.ZodOptional<z.ZodNumber>;
        stochRsiK: z.ZodOptional<z.ZodNumber>;
        stochRsiD: z.ZodOptional<z.ZodNumber>;
        macdFast: z.ZodOptional<z.ZodNumber>;
        macdSlow: z.ZodOptional<z.ZodNumber>;
        macdSignal: z.ZodOptional<z.ZodNumber>;
        bollingerPeriod: z.ZodOptional<z.ZodNumber>;
        bollingerStdDev: z.ZodOptional<z.ZodNumber>;
        atrPeriod: z.ZodOptional<z.ZodNumber>;
        adxPeriod: z.ZodOptional<z.ZodNumber>;
        cciPeriod: z.ZodOptional<z.ZodNumber>;
        mfiPeriod: z.ZodOptional<z.ZodNumber>;
        williamsRPeriod: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strict>;
export declare const executeOrderSchema: z.ZodObject<{
    symbol: z.ZodString;
    side: z.ZodEnum<{
        BUY: "BUY";
        SELL: "SELL";
    }>;
    type: z.ZodLiteral<"MARKET">;
    quantity: z.ZodNumber;
    stopLoss: z.ZodNumber;
    takeProfit: z.ZodNumber;
}, z.core.$strip>;
export declare const backtestParamsSchema: z.ZodObject<{
    symbols: z.ZodArray<z.ZodString>;
    period: z.ZodEnum<{
        "7d": "7d";
        "30d": "30d";
        "90d": "90d";
    }>;
    scoreThreshold: z.ZodOptional<z.ZodNumber>;
    stopLossPercent: z.ZodOptional<z.ZodNumber>;
    takeProfitPercent: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export declare const createAlertSchema: z.ZodObject<{
    symbol: z.ZodString;
    condition: z.ZodEnum<{
        price_above: "price_above";
        price_below: "price_below";
        score_above: "score_above";
        score_below: "score_below";
        funding_above: "funding_above";
        funding_below: "funding_below";
    }>;
    value: z.ZodNumber;
    message: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const paginationSchema: z.ZodObject<{
    symbol: z.ZodOptional<z.ZodString>;
    limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, z.core.$strip>;
export declare const registerSchema: z.ZodObject<{
    email: z.ZodString;
    name: z.ZodString;
    password: z.ZodString;
}, z.core.$strip>;
export declare const loginSchema: z.ZodObject<{
    email: z.ZodString;
    password: z.ZodString;
}, z.core.$strip>;
export declare const analyzePairSchema: z.ZodObject<{
    symbol: z.ZodString;
}, z.core.$strip>;
export declare const toggleFavoriteSchema: z.ZodObject<{
    symbol: z.ZodString;
}, z.core.$strip>;
export declare const symbolOnlySchema: z.ZodObject<{
    symbol: z.ZodString;
}, z.core.$strip>;
export declare const deleteAlertSchema: z.ZodObject<{
    id: z.ZodString;
}, z.core.$strip>;
export declare function validate<T>(schema: z.ZodSchema<T>, data: unknown): {
    success: true;
    data: T;
} | {
    success: false;
    error: string;
};
//# sourceMappingURL=validation.d.ts.map