/**
 * @jsxRuntime classic
 * @jsx jsx
 */
import React from 'react';
import type { SpinnerSizeType } from '../types';
interface LoadingContainerAdvancedProps {
    children?: React.ReactNode;
    isLoading?: boolean;
    spinnerSize?: SpinnerSizeType;
    contentsOpacity: number | string;
    targetRef?: () => HTMLTableSectionElement | null;
    testId?: string;
    loadingLabel?: string;
}
export default class LoadingContainerAdvanced extends React.Component<LoadingContainerAdvancedProps, {}> {
    spinnerRef: React.RefObject<HTMLDivElement>;
    containerRef: React.RefObject<HTMLDivElement>;
    static defaultProps: {
        isLoading: boolean;
        spinnerSize: string;
        contentsOpacity: 'var(--ds-opacity-loading)';
        loadingLabel: string;
    };
    componentDidMount: () => void;
    UNSAFE_componentWillReceiveProps: (nextProps: LoadingContainerAdvancedProps) => void;
    componentDidUpdate: () => void;
    componentWillUnmount: () => void;
    getTargetNode: (nextProps?: LoadingContainerAdvancedProps) => HTMLDivElement | null;
    hasTargetNode: (nextProps?: LoadingContainerAdvancedProps) => boolean;
    isVerticallyVisible: (elementRect: {
        top: number;
        bottom: number;
    }, viewportHeight: number) => boolean;
    isFullyVerticallyVisible: (elementRect: {
        top: number;
        bottom: number;
    }, viewportHeight: number) => boolean;
    attachListeners(): void;
    detachListeners(): void;
    handleResize: () => void;
    handleScroll: () => void;
    translateSpinner: (spinnerNode: HTMLElement, transformY: number, isFixed?: boolean) => void;
    updateTargetAppearance: () => void;
    updateSpinnerPosition(): void;
    render(): React.JSX.Element;
}
export {};
