import { FunctionZeros } from './functionZeros.cjs';

declare namespace Custom {
    type MinMaxBisection = (info: MinMaxBisection.Params) => MinMaxBisection.Return;
    namespace MinMaxBisection {
        interface Params {
            func: string;
            interval: [number, number];
            target: "min" | "max";
            precision: number;
            options?: Omit<FunctionZeros.Options, "bail">;
        }
        type Details = Array<Omit<FunctionZeros.Details, "condition2"> & {
            interval: number[];
            results: number[];
        }>;
        interface Result {
            iterations: number;
            interval: [string, string];
        }
        interface Return {
            result: Result;
            details: Details;
        }
    }
}
declare const minMaxBisectionParams: {
    func: string;
    interval: string;
    target: string;
    precision: string;
    options: {
        conditionsWhitelist: string;
        maxIterations: string;
        origFunc: string;
        relativeError: string;
    };
};
declare const minMaxBisection: Custom.MinMaxBisection;

export { Custom, minMaxBisection, minMaxBisectionParams };
