import { MaybeEsModule } from './Modules'; import { MaybePromise } from './Promises'; /** * An object that may or may not be an instance of BlueBaseModule */ export type MaybeBlueBaseModule = BlueBaseModule | T; /** * 📦 BlueBaseModule */ export interface BlueBaseModule extends Promise { /** * This is the input value. If this value is an ES module, * then we store the value of `.default` property. * * This element may (in case of code splitting) or may not * be a Promise. Also, the promise itself may or may not * resolve an ES module. */ module: MaybePromise>; /** * This flag tells if the initial input module as a promise. * If it is false, then it means that the module property * represents the actual module, converted from ES. */ isAsync: boolean; /** * Has the promise resolved at least once? */ loaded: boolean; } /** * Creates a BlueBaseModule promise * @param input */ export declare function createBlueBaseModule(input: MaybeBlueBaseModule): BlueBaseModule; /** * Checks if an input object is a BlueBaseModule. Returns as is if true, otherwise, * wraps the input into a BlueBaseModule and returns. * * @param input Input object */ export declare function getDefiniteBlueBaseModule(input: MaybeBlueBaseModule): BlueBaseModule; /** * Check if an input object is an instance of BlueBaseModule * @param input Input object */ export declare function isBlueBaseModule(input: MaybeBlueBaseModule): input is BlueBaseModule;