import { DocumentXbrlResult } from '../services/DocumentParser/parsers/parse-xbrl';
import { XbrlFilingSummaryReport } from '../services/DocumentParser/XBRLParser/FilingSummaryParser';
export interface XbrlFilingSummaryReportWithTrees extends XbrlFilingSummaryReport {
    calculationTree: TreeNode[];
    presentationTree: TreeNode[];
}
export type MemberInclusionRule = 'always' | 'inReportsWherePresent' | 'never';
interface TreeNode {
    label: string;
    value: number | string | null;
    unit: string;
    period: number;
    key: string;
    isPeriodStart: boolean;
    weight: number;
    members?: MemberFact[];
    children?: TreeNode[];
}
interface MemberFact {
    segments: {
        dimension: string;
        value: string;
    }[];
    value: string | number | null;
}
export interface BuildReportTreesParams {
    xbrlJson: DocumentXbrlResult;
    /**
     * Where members should be included in the tree nodes.
     *
     * @default 'inReportsWherePresent'
     */
    memberInclusionRule?: MemberInclusionRule;
}
export declare function buildReportTrees(params: BuildReportTreesParams): XbrlFilingSummaryReportWithTrees[];
export {};
