import React, { RefObject } from 'react';
import { Onvo, Team, Account, EmbedUser } from '@onvo-ai/js';

type OnvoWrapperContext = {
    backend: Onvo | undefined;
    team: Team | undefined;
    adminMode: boolean;
    account: Account | undefined;
    embedUser: EmbedUser | undefined;
    containerRef: RefObject<HTMLDivElement> | null;
    setContainerRef: (ref: RefObject<HTMLDivElement> | null) => void;
    googleMapsLoaded: boolean;
};
declare const Wrapper: React.FC<{
    token: string;
    baseUrl?: string;
    children: any;
    adminMode?: boolean;
    googleMapsApiKey?: string;
}>;
declare const useBackend: () => OnvoWrapperContext;

declare const DashboardList: React.FC<{
    onClickItem?: (dashboard: any) => void;
    variant?: "list" | "grid";
    title?: string;
    theme?: "light" | "dark" | "system";
}>;

declare const DashboardWrapper: React.FC<{
    id: string;
    children: React.ReactNode;
}>;
declare const Dashboard: React.FC<{
    id: string;
    className?: string;
    variant?: "default" | "pdf" | "pptx";
}>;

declare const Copilot: React.NamedExoticComponent<{
    dashboardId: string;
    variant: "fullscreen" | "copilot";
    trigger?: React.ReactNode;
    coupled?: boolean;
}>;

export { Copilot, Dashboard, DashboardList, DashboardWrapper, Wrapper, useBackend };
