import { EnvironmentDefinition } from '@elaraai/core/admin'; import { ApplicationItemDefinition, ApplicationStyle } from '@elaraai/core/page'; import { ELARASchema } from '@elaraai/core/schema'; /** * A {@link ApplicationPluginDefinition} to configure the {@link ApplicationPlugin}. * * @category Application */ export declare type ApplicationPluginDefinition = { /** the name of the {@link Application} */ name: string; /** the {@link ApplicationItemDefinition}s to inject into the application */ items?: ApplicationItemDefinition[]; /** the {@link ELARASchema}s containing content groups */ schemas?: Record; /** set to false to prevent the input schema's from being injected */ inject_schemas?: boolean; /** the {@link ApplicationStyle} to apply */ style?: ApplicationStyle; /** the {@link EnvironmentDefinition}'s to add to the application */ environments?: EnvironmentDefinition[]; }; /** * Create an inline {@link ApplicationDefinition} based on some contents {@link ELARASchema}, for example other plugins. * * @param definition: the desired {@link ApplicationPluginDefinition}. * @return a {@link ELARASchema} containing a {@link ApplicationPluginDefinition} contents * * @category Application * * @example * ```typescript * //Create a the logs and pages. * const application = ApplicationPlugin({ * name: 'Weather & Holidays', * schemas: { * Weather: WeatherPlugin(), * Holidays: HolidaysPlugin(), * ), * env: [ * EnvironmentVariable({ name: 'ADMIN_PASSWORD' }) * ] * }) * ``` */ export declare function ApplicationPlugin(config: ApplicationPluginDefinition): ELARASchema; //# sourceMappingURL=app.d.ts.map