import { Mapping, QueryOptions, SchemaState } from 'lambdaorm-base'; import { ExpressionFacade } from '../../expressions/application'; import { LanguagesService } from '../../language/application'; import { OrmH3lp } from '../../shared/infrastructure'; import { StageActionDDL } from './useCases/base/actionDDL'; import { StageDelete } from './useCases/delete'; import { StageExport } from './useCases/export'; import { StageImport } from './useCases/import'; import { Executor } from '../../execution/domain'; import { StagePullOptions } from '../domain'; import { ExecuteResult } from '../../query/domain'; export declare class StageFacade { private readonly schemaState; private readonly expression; private readonly executor; private readonly languages; private readonly helper; private stageModelService; private stageMappingService; constructor(schemaState: SchemaState, expression: ExpressionFacade, executor: Executor, languages: LanguagesService, helper: OrmH3lp); /** * Check if the stage exists * @param name string * @returns {Promise} */ exists(name: string): Promise; /** * Push the stage with sources * @param options QueryOptions * @returns {StageActionDDL} */ push(options?: QueryOptions): StageActionDDL; /** * Drop source entities related to the stage * @param options QueryOptions * @returns {StageActionDDL} */ drop(options?: QueryOptions): StageActionDDL; /** * Truncate source entities related to the stage * @param options QueryOptions * @returns {StageActionDDL} */ truncate(options?: QueryOptions): StageActionDDL; /** * Delete source entities related to the stage * @param options QueryOptions * @returns {StageActionDDL} */ delete(options?: QueryOptions): StageDelete; /** * Export source entities related to the stage * @param options QueryOptions * @returns {StageActionDDL} */ export(options?: QueryOptions): StageExport; /** * Import data into source entities related to the stage * @param options QueryOptions * @returns {StageActionDDL} */ import(options?: QueryOptions): StageImport; /** * Fetch all mappings from the stage * @param options QueryOptions * @returns {Promise} */ fetch(options?: QueryOptions): Promise; /** * Pull the stage with the sources * @param options StagePullOptions * @returns {Promise} */ pull(options?: StagePullOptions): Promise; /** * Update and Push Schema with data * @param data any|any[] * @param name string * @param options QueryOptions * @returns {Promise} */ introspect(data: any | any[], name: string, options?: QueryOptions): Promise; /** * Update and Push Schema and import data * @param data any|any[] * @param name string * @param options QueryOptions * @returns {Promise} */ incorporate(data: any | any[], name: string, options?: QueryOptions): Promise; }