import { z } from 'zod';
/**
 * Schema for ERC20 balance request
 */
export declare const Erc20BalanceSchema: z.ZodObject<{
    address: z.ZodOptional<z.ZodString>;
    tokenAddress: z.ZodString;
}, "strip", z.ZodTypeAny, {
    tokenAddress: string;
    address?: string | undefined;
}, {
    tokenAddress: string;
    address?: string | undefined;
}>;
/**
 * Schema for ERC20 transfer request
 */
export declare const Erc20TransferSchema: z.ZodObject<{
    tokenAddress: z.ZodString;
    destination: z.ZodString;
    amount: z.ZodString;
}, "strip", z.ZodTypeAny, {
    tokenAddress: string;
    amount: string;
    destination: string;
}, {
    tokenAddress: string;
    amount: string;
    destination: string;
}>;
export type Erc20BalanceParams = z.infer<typeof Erc20BalanceSchema>;
export type Erc20TransferParams = z.infer<typeof Erc20TransferSchema>;
export declare const ListAvailableTokensParams: z.ZodObject<{
    query: z.ZodOptional<z.ZodString>;
    limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    includePrice: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    limit: number;
    page: number;
    includePrice: boolean;
    query?: string | undefined;
}, {
    limit?: number | undefined;
    query?: string | undefined;
    page?: number | undefined;
    includePrice?: boolean | undefined;
}>;
export type ListAvailableTokensParamsType = z.infer<typeof ListAvailableTokensParams>;
export declare const TokenInfoSchema: z.ZodObject<{
    address: z.ZodString;
    name: z.ZodString;
    symbol: z.ZodString;
    decimals: z.ZodNumber;
    logoURI: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    currentPrice: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    priceChange24h: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    symbol: string;
    name: string;
    address: string;
    decimals: number;
    logoURI?: string | null | undefined;
    currentPrice?: number | null | undefined;
    priceChange24h?: number | null | undefined;
}, {
    symbol: string;
    name: string;
    address: string;
    decimals: number;
    logoURI?: string | null | undefined;
    currentPrice?: number | null | undefined;
    priceChange24h?: number | null | undefined;
}>;
export type TokenInfoType = z.infer<typeof TokenInfoSchema>;
export declare const ListAvailableTokensResult: z.ZodObject<{
    success: z.ZodBoolean;
    tokens: z.ZodArray<z.ZodObject<{
        address: z.ZodString;
        name: z.ZodString;
        symbol: z.ZodString;
        decimals: z.ZodNumber;
        logoURI: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        currentPrice: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
        priceChange24h: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    }, {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    }>, "many">;
    page: z.ZodNumber;
    limit: z.ZodNumber;
    total: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    limit: number;
    page: number;
    tokens: {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    }[];
    total?: number | undefined;
}, {
    success: boolean;
    limit: number;
    page: number;
    tokens: {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    }[];
    total?: number | undefined;
}>;
export type ListAvailableTokensResultType = z.infer<typeof ListAvailableTokensResult>;
export declare const GetTokenInfoParams: z.ZodObject<{
    contractAddress: z.ZodString;
    includePrice: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    contractAddress: string;
    includePrice: boolean;
}, {
    contractAddress: string;
    includePrice?: boolean | undefined;
}>;
export type GetTokenInfoParamsType = z.infer<typeof GetTokenInfoParams>;
export declare const GetTokenInfoResult: z.ZodObject<{
    success: z.ZodBoolean;
    token: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        address: z.ZodString;
        name: z.ZodString;
        symbol: z.ZodString;
        decimals: z.ZodNumber;
        logoURI: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        currentPrice: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
        priceChange24h: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    }, {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    }>>>;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    token?: {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    } | null | undefined;
}, {
    success: boolean;
    token?: {
        symbol: string;
        name: string;
        address: string;
        decimals: number;
        logoURI?: string | null | undefined;
        currentPrice?: number | null | undefined;
        priceChange24h?: number | null | undefined;
    } | null | undefined;
}>;
export type GetTokenInfoResultType = z.infer<typeof GetTokenInfoResult>;
export declare const GetTokenPriceHistoryParams: z.ZodObject<{
    contractAddress: z.ZodString;
}, "strip", z.ZodTypeAny, {
    contractAddress: string;
}, {
    contractAddress: string;
}>;
export type GetTokenPriceHistoryParamsType = z.infer<typeof GetTokenPriceHistoryParams>;
export declare const PricePointSchema: z.ZodObject<{
    timestamp: z.ZodNumber;
    price: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    timestamp: number;
    price: number;
}, {
    timestamp: number;
    price: number;
}>;
export type PricePointType = z.infer<typeof PricePointSchema>;
export declare const GetTokenPriceHistoryResult: z.ZodObject<{
    success: z.ZodBoolean;
    address: z.ZodString;
    history: z.ZodArray<z.ZodObject<{
        timestamp: z.ZodNumber;
        price: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        timestamp: number;
        price: number;
    }, {
        timestamp: number;
        price: number;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    address: string;
    success: boolean;
    history: {
        timestamp: number;
        price: number;
    }[];
}, {
    address: string;
    success: boolean;
    history: {
        timestamp: number;
        price: number;
    }[];
}>;
export type GetTokenPriceHistoryResultType = z.infer<typeof GetTokenPriceHistoryResult>;
//# sourceMappingURL=schemas.d.ts.map