import { z } from 'zod';
import { TransactionData } from '../../domain/value-objects/transaction-data';
export declare const transactionDataSchema: z.ZodType<TransactionData[]>;
export declare const createTransactionSchema: z.ZodObject<{
    hash: z.ZodString;
    status: z.ZodEnum<["pending", "confirmed", "failed", "dropped"]>;
    block: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    networkId: z.ZodString;
    timestamp: z.ZodDate;
    from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    interactedWith: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    value: z.ZodString;
    fee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    gasPrice: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    gasLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    method: z.ZodString;
    data: z.ZodDefault<z.ZodType<TransactionData[], z.ZodTypeDef, TransactionData[]>>;
}, "strip", z.ZodTypeAny, {
    value: string;
    status: "pending" | "confirmed" | "failed" | "dropped";
    networkId: string;
    hash: string;
    timestamp: Date;
    method: string;
    data: TransactionData[];
    to?: string | null | undefined;
    from?: string | null | undefined;
    block?: number | null | undefined;
    interactedWith?: string | null | undefined;
    fee?: string | null | undefined;
    gasPrice?: string | null | undefined;
    gasLimit?: number | null | undefined;
}, {
    value: string;
    status: "pending" | "confirmed" | "failed" | "dropped";
    networkId: string;
    hash: string;
    timestamp: Date;
    method: string;
    to?: string | null | undefined;
    from?: string | null | undefined;
    block?: number | null | undefined;
    interactedWith?: string | null | undefined;
    fee?: string | null | undefined;
    gasPrice?: string | null | undefined;
    gasLimit?: number | null | undefined;
    data?: TransactionData[] | undefined;
}>;
export type CreateTransactionInput = z.infer<typeof createTransactionSchema>;
export declare const updateTransactionSchema: z.ZodObject<{
    status: z.ZodOptional<z.ZodEnum<["pending", "confirmed", "failed", "dropped"]>>;
    block: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    status?: "pending" | "confirmed" | "failed" | "dropped" | undefined;
    block?: number | null | undefined;
}, {
    status?: "pending" | "confirmed" | "failed" | "dropped" | undefined;
    block?: number | null | undefined;
}>;
export type UpdateTransactionInput = z.infer<typeof updateTransactionSchema>;
export declare const transactionIdParamSchema: z.ZodObject<{
    id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: string;
}, {
    id: string;
}>;
export declare const getTransactionsQuerySchema: z.ZodObject<{
    walletId: z.ZodOptional<z.ZodString>;
    networkId: z.ZodOptional<z.ZodString>;
    tokenId: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodEnum<["pending", "confirmed", "failed", "dropped"]>>;
    method: z.ZodOptional<z.ZodString>;
    limit: z.ZodDefault<z.ZodNumber>;
    offset: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    limit: number;
    offset: number;
    status?: "pending" | "confirmed" | "failed" | "dropped" | undefined;
    networkId?: string | undefined;
    walletId?: string | undefined;
    method?: string | undefined;
    tokenId?: string | undefined;
}, {
    status?: "pending" | "confirmed" | "failed" | "dropped" | undefined;
    networkId?: string | undefined;
    walletId?: string | undefined;
    limit?: number | undefined;
    offset?: number | undefined;
    method?: string | undefined;
    tokenId?: string | undefined;
}>;
export type GetTransactionsInput = z.infer<typeof getTransactionsQuerySchema>;
export declare const transactionRateSchema: z.ZodObject<{
    networkId: z.ZodString;
    method: z.ZodString;
    value: z.ZodOptional<z.ZodString>;
    fee: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    gasPrice: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    gasLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    data: z.ZodOptional<z.ZodDefault<z.ZodType<TransactionData[], z.ZodTypeDef, TransactionData[]>>>;
    tokenIn: z.ZodOptional<z.ZodString>;
    tokenOut: z.ZodOptional<z.ZodString>;
    amountIn: z.ZodOptional<z.ZodString>;
    amountOut: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    networkId: string;
    method: string;
    value?: string | undefined;
    fee?: string | null | undefined;
    gasPrice?: string | null | undefined;
    gasLimit?: number | null | undefined;
    data?: TransactionData[] | undefined;
    tokenIn?: string | undefined;
    tokenOut?: string | undefined;
    amountIn?: string | undefined;
    amountOut?: string | undefined;
}, {
    networkId: string;
    method: string;
    value?: string | undefined;
    fee?: string | null | undefined;
    gasPrice?: string | null | undefined;
    gasLimit?: number | null | undefined;
    data?: TransactionData[] | undefined;
    tokenIn?: string | undefined;
    tokenOut?: string | undefined;
    amountIn?: string | undefined;
    amountOut?: string | undefined;
}>;
export type TransactionRateInput = z.infer<typeof transactionRateSchema>;
//# sourceMappingURL=transaction.dto.d.ts.map