import { default as React } from 'react';
import { DoenetMLFlags } from '../doenetml';
export type UseDoenetRendererProps = {
    coreId: string;
    componentInstructions: {
        actions: Record<string, {
            actionName: string;
            componentIdx: number;
        }>;
        componentIdx: number;
        effectiveIdx: number;
        id: string;
        componentType: string;
        rendererType: string;
    };
    rendererClasses: Record<string, any>;
    docId: string;
    activityId: string;
    callAction: (argObj: Record<string, any>) => void;
    doenetViewerUrl?: string;
    fetchExternalDoenetML?: (arg: string) => Promise<string>;
    requestScrollTo?: (offset: number) => void;
    flags: DoenetMLFlags;
};
/**
 * Hook to retrieve the state variables needed to render a component
 */
export default function useDoenetRenderer(props: UseDoenetRendererProps, initializeChildrenOnConstruction?: boolean): {
    componentIdx: number;
    id: string;
    SVs: Record<string, any>;
    docId: string;
    activityId: string;
    actions: Record<string, {
        actionName: string;
        componentIdx: number;
    }>;
    children: React.ReactNode[];
    sourceOfUpdate: {
        local?: boolean;
        sourceInformation?: Record<string, unknown>;
    };
    ignoreUpdate: boolean;
    rendererName: string;
    initializeChildren: () => void;
    callAction: (argObj: Record<string, any>) => void;
    doenetViewerUrl: string | undefined;
    fetchExternalDoenetML: ((arg: string) => Promise<string>) | undefined;
    requestScrollTo: ((offset: number) => void) | undefined;
    flags: DoenetMLFlags;
};
//# sourceMappingURL=useDoenetRenderer.d.ts.map