import type ActionCollectionDecorator from './actions/collection'; import type BinaryCollectionDecorator from './binary/collection'; import type ChartDataSourceDecorator from './chart/datasource'; import type ComputedCollectionDecorator from './computed/collection'; import type HookCollectionDecorator from './hook/collection'; import type OperatorsEmulateCollectionDecorator from './operators-emulate/collection'; import type OverrideCollectionDecorator from './override/collection'; import type PublicationDataSourceDecorator from './publication/datasource'; import type RelationCollectionDecorator from './relation/collection'; import type RenameFieldCollectionDecorator from './rename-field/collection'; import type SchemaCollectionDecorator from './schema/collection'; import type SearchCollectionDecorator from './search/collection'; import type SegmentCollectionDecorator from './segment/collection'; import type SortEmulateCollectionDecorator from './sort-emulate/collection'; import type ValidationCollectionDecorator from './validation/collection'; import type WriteDataSourceDecorator from './write/datasource'; import type { DataSource, DataSourceDecorator, Logger } from '@forestadmin/datasource-toolkit'; export type Options = { ignoreMissingSchemaElementErrors?: boolean; }; export default abstract class DecoratorsStackBase { protected customizations: Array<(logger: Logger) => Promise>; private options; dataSource: DataSource; action: DataSourceDecorator; binary: DataSourceDecorator; chart: ChartDataSourceDecorator; earlyComputed: DataSourceDecorator; earlyOpEmulate: DataSourceDecorator; hook: DataSourceDecorator; internalHook: DataSourceDecorator; lateComputed: DataSourceDecorator; lateOpEmulate: DataSourceDecorator; publication: PublicationDataSourceDecorator; relation: DataSourceDecorator; renameField: DataSourceDecorator; schema: DataSourceDecorator; search: DataSourceDecorator; segment: DataSourceDecorator; sortEmulate: DataSourceDecorator; validation: DataSourceDecorator; write: WriteDataSourceDecorator; override: DataSourceDecorator; constructor(options: Options); abstract buildStack(dataSource: DataSource): void; backupStack(): { action: DataSourceDecorator; binary: DataSourceDecorator; chart: ChartDataSourceDecorator; earlyComputed: DataSourceDecorator; earlyOpEmulate: DataSourceDecorator; hook: DataSourceDecorator; internalHook: DataSourceDecorator; lateComputed: DataSourceDecorator; lateOpEmulate: DataSourceDecorator; publication: PublicationDataSourceDecorator; relation: DataSourceDecorator; renameField: DataSourceDecorator; schema: DataSourceDecorator; search: DataSourceDecorator; segment: DataSourceDecorator; sortEmulate: DataSourceDecorator; validation: DataSourceDecorator; write: WriteDataSourceDecorator; override: DataSourceDecorator; }; restoreStack(stack: any): void; queueCustomization(customization: (logger: Logger) => Promise): void; /** * Apply all customizations * Plugins may queue new customizations, or call other plugins which will queue customizations. * * This method will be called recursively and clears the queue at each recursion to ensure * that all customizations are applied in the right order. */ applyQueuedCustomizations(logger: Logger, dataSource: DataSource): Promise; private _applyQueuedCustomizations; } //# sourceMappingURL=decorators-stack-base.d.ts.map