import type { DeriveType } from "binary-layout";
import type { RoArray } from "@stable-io/map-utils";
import { Rational } from "@stable-io/amount";
declare const feeAdjustmentLayout: readonly [{
    readonly binary: "int";
    readonly size: 2;
    readonly custom: {
        to: (val: number) => import("@stable-io/amount").Amount<{
            readonly name: "Usdc";
            readonly units: readonly [{
                readonly symbol: "USDC";
                readonly scale: 1;
            }, {
                readonly symbol: "\u00B5USDC";
                readonly scale: bigint | Rational;
            }];
            readonly human: "USDC";
            readonly atomic: "\u00B5USDC";
            readonly stringify: (val: Rational) => string;
        }>;
        from: (amount: import("@stable-io/amount").Amount<{
            readonly name: "Usdc";
            readonly units: readonly [{
                readonly symbol: "USDC";
                readonly scale: 1;
            }, {
                readonly symbol: "\u00B5USDC";
                readonly scale: bigint | Rational;
            }];
            readonly human: "USDC";
            readonly atomic: "\u00B5USDC";
            readonly stringify: (val: Rational) => string;
        }>) => number;
    };
    readonly name: "absoluteUsdc";
}, {
    readonly binary: "uint";
    readonly size: 1;
    readonly name: "relativePercent";
}];
export type FeeAdjustment = DeriveType<typeof feeAdjustmentLayout>;
export declare const feeAdjustmentsPerSlot = 10;
export declare const feeAdjustmentsSlotItem: {
    readonly binary: "bytes";
    readonly layout: {
        readonly binary: "bytes";
        readonly layout: readonly [{
            readonly name: "padding";
            readonly binary: "bytes";
            readonly custom: Uint8Array<ArrayBuffer>;
            readonly omit: true;
        }, {
            readonly name: "item";
        } & {
            readonly binary: "array";
            readonly length: 10;
            readonly layout: readonly [{
                readonly binary: "int";
                readonly size: 2;
                readonly custom: {
                    to: (val: number) => import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    from: (amount: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>) => number;
                };
                readonly name: "absoluteUsdc";
            }, {
                readonly binary: "uint";
                readonly size: 1;
                readonly name: "relativePercent";
            }];
        }];
        readonly custom: {
            readonly to: (raw: {
                item: readonly [{
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }];
            }) => readonly [{
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }];
            readonly from: (item: readonly [{
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }, {
                readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                    readonly name: "Usdc";
                    readonly units: readonly [{
                        readonly symbol: "USDC";
                        readonly scale: 1;
                    }, {
                        readonly symbol: "\u00B5USDC";
                        readonly scale: bigint | Rational;
                    }];
                    readonly human: "USDC";
                    readonly atomic: "\u00B5USDC";
                    readonly stringify: (val: Rational) => string;
                }>;
                readonly relativePercent: number;
            }]) => {
                item: readonly [{
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }, {
                    readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                        readonly name: "Usdc";
                        readonly units: readonly [{
                            readonly symbol: "USDC";
                            readonly scale: 1;
                        }, {
                            readonly symbol: "\u00B5USDC";
                            readonly scale: bigint | Rational;
                        }];
                        readonly human: "USDC";
                        readonly atomic: "\u00B5USDC";
                        readonly stringify: (val: Rational) => string;
                    }>;
                    readonly relativePercent: number;
                }];
            };
        };
    };
    readonly custom: {
        readonly to: (fa: RoArray<FeeAdjustment>) => {
            readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                readonly name: "Usdc";
                readonly units: readonly [{
                    readonly symbol: "USDC";
                    readonly scale: 1;
                }, {
                    readonly symbol: "\u00B5USDC";
                    readonly scale: bigint | Rational;
                }];
                readonly human: "USDC";
                readonly atomic: "\u00B5USDC";
                readonly stringify: (val: Rational) => string;
            }>;
            readonly relativePercent: number;
        }[];
        readonly from: (fa: RoArray<FeeAdjustment>) => {
            readonly absoluteUsdc: import("@stable-io/amount").Amount<{
                readonly name: "Usdc";
                readonly units: readonly [{
                    readonly symbol: "USDC";
                    readonly scale: 1;
                }, {
                    readonly symbol: "\u00B5USDC";
                    readonly scale: bigint | Rational;
                }];
                readonly human: "USDC";
                readonly atomic: "\u00B5USDC";
                readonly stringify: (val: Rational) => string;
            }>;
            readonly relativePercent: number;
        }[];
    };
};
export type FeeAdjustmentsSlot = DeriveType<typeof feeAdjustmentsSlotItem>;
export {};
//# sourceMappingURL=feeAdjustments.d.ts.map