export interface SkeletonData {
    code: string;
    parent_code: string;
    name: string;
    block_size: number;
    scrollspySelector: string;
    elementSelector: string;
    itemNameSelector?: string;
    focusSelector?: string;
    size?: number;
    filled?: string;
}
export interface FormStructureSize {
    code: string;
    size: number;
}
export interface FormStructureFilled {
    code: string;
    label: string;
}
interface Props {
    container?: HTMLElement;
    skeleton?: Array<SkeletonData>;
    dataUrl?: string;
}
export default class FormStructure {
    tree: Fancytree.Fancytree | undefined;
    treeData: any;
    openedItem: string[] | undefined;
    container: HTMLElement | null;
    skeleton: Array<SkeletonData> | undefined;
    queueSize: FormStructureSize[];
    queueFilled: FormStructureFilled[];
    static create(props?: Props): FormStructure;
    constructor(props?: Props);
    private init;
    private reInit;
    setSkeleton(skeleton: SkeletonData[]): void;
    setSize(data: FormStructureSize): void;
    setFilled(data: FormStructureFilled[]): void;
    private setElementSize;
    private setElementFilled;
    private showNodeParent;
    private scrollToElement;
    private handleEvent;
    private getSkeleton;
}
export declare function changeTabIfNeed(el: JQuery, callback: () => void): void;
export declare function scrollToElement(el: JQuery): void;
export declare function initListenerFormNotify(): void;
export {};
