import { Source } from "./Source"; import { Option } from "./Option"; import { OptionHelper } from "./../modules/optionHelper"; import { AppConfigurationObject } from "../classes/codeConfig"; import { AppRefreshQuery } from "./AppRefreshQuery"; import { CommonModel } from "../classes/commonModel"; export interface SimpleAppOptions extends OptionHelper.SimpleOptions { } declare const STATES: readonly ["draft", "ready", "deleted"]; export declare class App extends CommonModel { idPrefix(): string; name: string; type: string; locked: string; state: typeof STATES[number]; appRefreshQuery: AppRefreshQuery; __options: Option[]; sources: Source[]; appOptions(): Promise<{ [optionName: string]: { type: import("..").PluginOptionType; options?: string[]; descriptions?: string[]; }; }>; getOptions(sourceFromEnvironment?: boolean, obfuscatePasswords?: boolean): Promise; setOptions(options: SimpleAppOptions, externallyValidate?: boolean): Promise; afterSetOptions(hasChanges: boolean): Promise; validateOptions(options?: SimpleAppOptions, externallyValidate?: boolean): Promise; getPlugin(): Promise<{ plugin: import("..").GrouparooPlugin; pluginConnection: import("..").PluginConnection; pluginApp: import("..").PluginApp; }>; setConnection(connection: any): Promise; getConnection(): Promise; connect(options?: SimpleAppOptions): Promise; disconnect(): Promise; test(options?: SimpleAppOptions): Promise<{ success: boolean; message: string; error: any; }>; getParallelism(): Promise; checkAndUpdateParallelism(direction: "incr" | "decr"): Promise; parallelismKey(): string; apiData(): Promise<{ id: string; name: string; icon: string; type: string; state: "ready" | "draft" | "deleted"; locked: string; options: OptionHelper.SimpleOptions; provides: { source: boolean; destination: boolean; }; pluginName: string; pluginApp: import("..").PluginApp; refreshQueryAvailable: boolean; createdAt: number; updatedAt: number; appRefreshQuery: { id: string; appId: string; refreshQuery: string; value: string; locked: string; state: "ready" | "draft"; lastChangedAt: number; lastConfirmedAt: number; recurringFrequency: number; createdAt: number; updatedAt: number; }; }>; refreshQueryAvailable(): Promise; /** * Determine if this App can provide Source or Destination Connections */ provides(): { source: boolean; destination: boolean; }; getConfigId(): string; getConfigObject(): Promise; _getIcon(): Promise; static disconnect(id?: string): Promise; static checkMaxInstances(instance: App): Promise; static validateType(instance: App): Promise; static updateState(instance: App): Promise; static noUpdateIfLocked(instance: App): Promise; static noDestroyIfLocked(instance: App): Promise; static ensureNotInUse(instance: App): Promise; static checkMinInstances(instance: App): Promise; static destroyOptions(instance: App): Promise; static destroyAppRefreshQueries(instance: App): Promise; static removeParallelismKey(instance: App): Promise; static invalidateCache(): Promise; } export {};