import { z } from 'zod';
declare const dynamicReportNodeData: z.ZodObject<{
    descendantSortCodes: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodNull]>>;
    descendantFinancialEntities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodNull]>>;
    mergedSortCodes: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodNull]>>;
    isOpen: z.ZodBoolean;
    hebrewText: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
declare const dynamicReportNode: z.ZodObject<{
    id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
    parent: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
    text: z.ZodString;
    droppable: z.ZodBoolean;
    data: z.ZodObject<{
        descendantSortCodes: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodNull]>>;
        descendantFinancialEntities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodNull]>>;
        mergedSortCodes: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodNull]>>;
        isOpen: z.ZodBoolean;
        hebrewText: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
}, z.core.$strict>;
export declare const dynamicReportTemplate: z.ZodArray<z.ZodObject<{
    id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
    parent: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
    text: z.ZodString;
    droppable: z.ZodBoolean;
    data: z.ZodObject<{
        descendantSortCodes: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodNull]>>;
        descendantFinancialEntities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodNull]>>;
        mergedSortCodes: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodNull]>>;
        isOpen: z.ZodBoolean;
        hebrewText: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>;
}, z.core.$strict>>;
export type DynamicReportNodeType = z.infer<typeof dynamicReportNode>;
export type DynamicReportNodeDataType = z.infer<typeof dynamicReportNodeData>;
export declare function parseTemplate(raw: string): {
    id: string | number;
    parent: string | number;
    text: string;
    droppable: boolean;
    data: {
        isOpen: boolean;
        descendantSortCodes?: number[] | null | undefined;
        descendantFinancialEntities?: string[] | null | undefined;
        mergedSortCodes?: number[] | null | undefined;
        hebrewText?: string | undefined;
    };
}[];
export declare function validateTemplate(raw: string): boolean;
export {};
