import { z } from 'zod'; export declare enum OnchainTokenFeeType { LinearFee = 1, RegressiveFee = 2, ProgressiveFee = 3, RoutingFee = 4 } export declare enum TokenFeeType { LinearFee = "LinearFee", ProgressiveFee = "ProgressiveFee", RegressiveFee = "RegressiveFee", RoutingFee = "RoutingFee" } export declare const ImmutableTokenFeeType: readonly [TokenFeeType.LinearFee, TokenFeeType.RegressiveFee, TokenFeeType.ProgressiveFee]; export declare const onChainTypeToTokenFeeTypeMap: Record; export declare const BaseFeeConfigSchema: z.ZodObject<{ token: z.ZodString; owner: z.ZodString; }, "strip", z.ZodTypeAny, { owner: string; token: string; }, { owner: string; token: string; }>; export type BaseTokenFeeConfig = z.infer; export declare const BaseFeeConfigInputSchema: z.ZodObject<{ owner: z.ZodString; }, "strip", z.ZodTypeAny, { owner: string; }, { owner: string; }>; export declare const FeeParametersSchema: z.ZodObject<{ maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { maxFee: bigint; halfAmount: bigint; }, { maxFee: string | number | bigint; halfAmount: string | number | bigint; }>; export type FeeParameters = z.infer; export declare const LinearFeeConfigSchema: z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral; bps: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; bps: bigint; }, { type: TokenFeeType.LinearFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; bps: string | number | bigint; }>; export type LinearFeeConfig = z.infer; export declare const LinearFeeInputConfigSchema: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>; export type LinearFeeInputConfig = z.infer; export declare const ProgressiveFeeConfigSchema: z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>; export type ProgressiveFeeConfig = z.infer; export declare const ProgressiveFeeInputConfigSchema: z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>; export type ProgressiveFeeInputConfig = z.infer; export declare const RegressiveFeeConfigSchema: z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>; export type RegressiveFeeConfig = z.infer; export declare const RegressiveFeeInputConfigSchema: z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>; export type RegressiveFeeInputConfig = z.infer; export declare const RoutingFeeConfigSchema: z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; maxFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; feeContracts?: Record | undefined; }>; export type RoutingFeeConfig = z.infer; export declare const RoutingFeeInputConfigSchema: z.ZodObject<{ owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }>; export type RoutingFeeInputConfig = z.infer; export declare const TokenFeeConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral; bps: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; bps: bigint; }, { type: TokenFeeType.LinearFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; bps: string | number | bigint; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; } & { type: z.ZodLiteral; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; token: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ token: z.ZodString; owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; maxFee: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; token: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; feeContracts?: Record | undefined; }>]>; export type TokenFeeConfig = z.infer; export declare const TokenFeeConfigInputSchema: z.ZodUnion<[z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>>; halfAmount: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; type: z.ZodLiteral; bps: z.ZodOptional, z.ZodString]>, bigint, string | number | bigint>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; bps?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, { bps: bigint; type: TokenFeeType.LinearFee; owner: string; maxFee?: bigint | undefined; halfAmount?: bigint | undefined; }, { type: TokenFeeType.LinearFee; owner: string; maxFee?: string | number | bigint | undefined; halfAmount?: string | number | bigint | undefined; bps?: string | number | bigint | undefined; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.ProgressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodEffects; maxFee: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; halfAmount: z.ZodEffects, z.ZodString]>, bigint, string | number | bigint>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: bigint; halfAmount: bigint; }, { type: TokenFeeType.RegressiveFee; owner: string; maxFee: string | number | bigint; halfAmount: string | number | bigint; }>, z.ZodObject<{ owner: z.ZodString; } & { type: z.ZodLiteral; feeContracts: z.ZodOptional>>>; }, "strip", z.ZodTypeAny, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }, { type: TokenFeeType.RoutingFee; owner: string; feeContracts?: Record | undefined; }>]>; export type TokenFeeConfigInput = z.infer; export type ResolvedTokenFeeConfigInput = TokenFeeConfigInput & { token: string; }; export type ResolvedRoutingFeeConfigInput = RoutingFeeInputConfig & { token: string; feeContracts?: Record; }; //# sourceMappingURL=types.d.ts.map