import { MutableRefObject } from "react";
import type { ProtobufKind } from "../messaging/protobuf.js";
import "../fonts/fonts.css";
import { Renderer } from "@foxglove/studio-base/panels/ThreeDeeRender/Renderer";
import React from "react";
export type PanelTopic = {
    name: string;
    extra: boolean;
    enabled: boolean;
};
export type PanelProps = React.PropsWithChildren<{
    topic: string;
    fakedAs?: string;
    kind: ProtobufKind;
    disableAnnotations?: boolean;
    annotationTopics?: string[];
    extraAnnotationTopics?: string[];
    targetFps?: number;
    triggerToast?: () => void;
    renderDelay?: number;
    toggleTopic?: (topic: string) => void;
    toggleFullscreen?: (panelRef: MutableRefObject<HTMLElement>) => void;
    hideToolbar?: boolean;
    canMoveUp?: boolean;
    moveUp?: () => void;
    canMoveDown?: boolean;
    moveDown?: () => void;
    registerRendered?: (renderer: Renderer) => void;
    unregisterRendered?: () => void;
    panelToolbarActions?: JSX.Element;
    panelOverlay?: JSX.Element;
}>;
export type PanelDetections = Record<string, boolean>;
export type AllDetections = {
    detections: PanelTopic[];
};
export declare const useDetections: () => AllDetections;
export declare const Panel: React.FC<PanelProps>;
//# sourceMappingURL=Panel.d.ts.map