/** @module @airtable/blocks/ui: initializeBlock */ /** */
import * as React from "react";
import Sdk from "../sdk";
import Table from "../models/table";
import View from "../models/view";
/** */
declare type DashboardEntryElementFunction = () => React.ReactNode;
/** @hidden */
declare type ViewEntryElementFunction = ({ table, view, }: {
    table: Table;
    view: View;
}) => React.ReactNode;
/** @hidden */
interface EntryPoints {
    dashboard?: DashboardEntryElementFunction;
    view?: ViewEntryElementFunction;
}
/** @hidden */
declare type DashboardOrEntryPoints = DashboardEntryElementFunction | EntryPoints;
/**
 * `initializeBlock` takes the top-level React component in your tree and renders it. It is conceptually similar to `ReactDOM.render`, but takes care of some Apps-specific things.
 *
 * @param getEntryElement A function that returns your React Node.
 *
 * @example
 * ```js
 * import {initializeBlock} from '@airtable/blocks/ui';
 * import React from 'react';
 *
 * function App() {
 *     return (
 *         <div>Hello world 🚀</div>
 *     );
 * }
 *
 * initializeBlock(() => <App />);
 * ```
 * @docsPath UI/utils/initializeBlock
 */
export declare function initializeBlock(getEntryElement: DashboardOrEntryPoints): void;
export declare function __injectSdkIntoInitializeBlock(_sdk: Sdk): void;
export declare function __resetHasBeenInitialized(): void;
export {};
