export interface TaxSlabSnapshotInput {
    slab_id: string | null;
    slab_name: string | null;
    total_rate: number;
    components: Array<{
        name: string;
        rate: number;
    }>;
}
export interface TaxComponentBreakdown {
    name: string;
    rate: number;
    amount: number;
}
export interface TaxBifurcation {
    base: number;
    tax_amount: number;
    total: number;
    components: TaxComponentBreakdown[];
    snapshot: {
        slab_id: string | null;
        slab_name: string | null;
        total_rate: number;
        components: TaxComponentBreakdown[];
    };
}
export declare function roundToStep(value: number, step: number): number;
export declare function bifurcateInclusive(total: number, slab: TaxSlabSnapshotInput | null, rounding?: number): TaxBifurcation;
export declare function applyTaxOnBase(base: number, slab: TaxSlabSnapshotInput | null, rounding?: number): TaxBifurcation;
export declare function extractBase(total: number, slab: TaxSlabSnapshotInput | null, rounding?: number): number;
