UNPKG

ionic

Version:

A tool for creating and developing Ionic Framework mobile apps.

36 lines (35 loc) 1.92 kB
import { BaseConfig } from '@ionic/cli-framework'; import { IConfig, IIntegration, ILogger, IProject, IShell, InfoItem, IntegrationAddDetails, IntegrationName, ProjectIntegration, ProjectPersonalizationDetails } from '../../definitions'; export { INTEGRATION_NAMES } from '../../guards'; export interface IntegrationOptions { quiet?: boolean; } export interface IntegrationDeps { readonly config: IConfig; readonly shell: IShell; readonly project: IProject; readonly log: ILogger; } export declare type IntegationUnion = import('./capacitor').Integration | import('./cordova').Integration | import('./enterprise').Integration; export declare class IntegrationConfig extends BaseConfig<ProjectIntegration> { provideDefaults(c: Partial<Readonly<ProjectIntegration>>): ProjectIntegration; } export declare abstract class BaseIntegration<T extends ProjectIntegration> implements IIntegration<T> { protected readonly e: IntegrationDeps; abstract readonly name: IntegrationName; abstract readonly summary: string; abstract readonly archiveUrl?: string; abstract readonly config: BaseConfig<T>; constructor(e: IntegrationDeps); static createFromName(deps: IntegrationDeps, name: 'capacitor'): Promise<import('./capacitor').Integration>; static createFromName(deps: IntegrationDeps, name: 'cordova'): Promise<import('./cordova').Integration>; static createFromName(deps: IntegrationDeps, name: 'enterprise'): Promise<import('./enterprise').Integration>; static createFromName(deps: IntegrationDeps, name: IntegrationName): Promise<IIntegration<ProjectIntegration>>; getInfo(): Promise<InfoItem[]>; isAdded(): boolean; isEnabled(): boolean; enable(config?: ProjectIntegration): Promise<void>; disable(): Promise<void>; personalize(details: ProjectPersonalizationDetails): Promise<void>; add(details: IntegrationAddDetails): Promise<void>; }