import { StringDict } from "../../../v1/parsing/common/index.js";
import { Field } from "./field.js";
import { BaseFieldConstructor } from "./base.js";
/**
 * @property {string} constructor.rateKey - Key to use to get the tax rate in the prediction dict.
 * @property {string} constructor.codeKey - Key to use to get the tax code in the prediction dict.
 * @property {string} constructor.baseKey - Key to use to get the base tax in the prediction dict.
 */
interface TaxConstructor extends BaseFieldConstructor {
    rateKey?: string;
    codeKey?: string;
    baseKey?: string;
}
/**
 * Represent a single tax line.
 */
export declare class TaxField extends Field {
    #private;
    /** The tax amount. */
    value?: number;
    /** The tax rate. */
    rate?: number;
    /**  The tax code (HST, GST... for Canadian; City Tax, State tax for US, etc..). */
    code?: string;
    /**  The tax base */
    base?: number;
    /** The document page on which the information was found. */
    pageId: number;
    /**
     * @param {TaxConstructor} constructor Constructor parameters.
     */
    constructor({ prediction, valueKey, rateKey, codeKey, baseKey, reconstructed, pageId, }: TaxConstructor);
    /**
     * Output in a format suitable for inclusion in an rST table.
     */
    toTableLine(): string;
    /**
     * Default string representation.
     */
    toString(): string;
}
/**
 * Represent all items.
 */
export declare class Taxes extends Array<TaxField> {
    #private;
    init(prediction: StringDict[] | undefined, pageId: number | undefined): this;
    /**
     * Default string representation.
     */
    toString(): string;
}
export {};
