/**
 * @author WMXPY
 * @namespace Loader
 * @description Origin Loader
 */
import { IImbricateOrigin } from "../origin/interface";
import { ImbricateOriginPersistence, ImbricateOriginPersistenceOrigin } from "./persistence";
/**
 * Load imbricate origin from persistence origin
 *  This function will load the origin from the persistence origin
 *  and initialize the origin with the payloads
 *
 * @param origin origin to persistence to load
 *
 * @returns a promise of the loaded origin
 *  if the origin is not found, return null
 */
export declare const loadImbricateOriginFromPersistenceOrigin: (origin: ImbricateOriginPersistenceOrigin) => Promise<IImbricateOrigin | null>;
/**
 * Load imbricate origins from persistence
 *  This function will load all origins from the persistence
 *  and initialize the origins with the payloads
 *  If the origin is not found, it will be ignored
 *
 * @param persistence persistence to load origins
 *
 * @returns a promise of the loaded origins, if the origin is not found, return empty array
 */
export declare const loadImbricateOriginsFromPersistence: (persistence: ImbricateOriginPersistence) => Promise<IImbricateOrigin[]>;
