import { type ImageDef, type LayerDef } from '@expofp/renderer';
/**
 * Loads one configured layer's designer images and hands back where they belong.
 *
 * Resolves to `undefined` when there is nothing to place any more — an image load still in flight
 * when the plan was destroyed, whose result no longer has a plan to be drawn into.
 */
export type LayerImagesHandler = () => Promise<{
    layer: LayerDef;
    children: ImageDef[];
} | undefined>;
/**
 * Registers a layer's image loader under its layer name.
 * @param name - The image layer's name.
 * @param handler - Loads the images.
 * @returns A disposer removing this registration, unless a newer one replaced it.
 */
export declare function registerLayerImages(name: string, handler: LayerImagesHandler): () => void;
/**
 * Starts every registered loader.
 * @returns One promise per registered layer.
 */
export declare function invokeLayerImages(): ReturnType<LayerImagesHandler>[];
//# sourceMappingURL=layer-images.d.ts.map