/**
 * Registers a lazy data source for a custom type.
 *
 * @template {import("../../../spec/data.js").LazyDataParams} P
 * @param {LazySourceEntry<P>["guard"]} guard
 * @param {LazySourceEntry<P>["Source"]} Source
 * @returns {() => void}
 */
export function registerLazyDataSource<P extends import("../../../spec/data.js").LazyDataParams>(guard: LazySourceEntry<P>["guard"], Source: LazySourceEntry<P>["Source"]): () => void;
/**
 * Registers a built-in lazy data source.
 *
 * @template {import("../../../spec/data.js").LazyDataParams} P
 * @param {LazySourceEntry<P>["guard"]} guard
 * @param {LazySourceEntry<P>["Source"]} Source
 */
export function registerBuiltInLazyDataSource<P extends import("../../../spec/data.js").LazyDataParams>(guard: LazySourceEntry<P>["guard"], Source: LazySourceEntry<P>["Source"]): void;
/**
 * @param {import("../../../spec/data.js").LazyDataParams} params
 * @param {import("../../../view/view.js").default} view
 */
export function createLazyDataSource(params: import("../../../spec/data.js").LazyDataParams, view: import("../../../view/view.js").default): import("../dataSource.js").default;
export type LazySourceEntry<P extends import("../../../spec/data.js").LazyDataParams> = {
    guard: (params: import("../../../spec/data.js").LazyDataParams) => params is P;
    Source: new (params: any, view: import("../../../view/view.js").default) => import("../dataSource.js").default;
};
//# sourceMappingURL=lazyDataSourceRegistry.d.ts.map