import AppCLI from '@gluestack-v2/framework-cli/build/helpers/lib/app';
import BaseGluestackPlugin from '@gluestack-v2/framework-cli/build/plugin/BaseGluestackPlugin';
import IInstance from '@gluestack-v2/framework-cli/build/types/plugin/interface/IInstance';
import IGlueStorePlugin from '@gluestack-v2/framework-cli/build/types/store/interface/IGluePluginStore';
export declare class GlueStackPlugin extends BaseGluestackPlugin {
    type: 'stateless' | 'stateful' | 'devonly';
    pluginEnvironment: 'server' | 'client';
    constructor(app: AppCLI, gluePluginStore: IGlueStorePlugin);
    init(): void;
    destroy(): void;
    getName(): string;
    getVersion(): string;
    getInstallationPath(target: string): string;
    getPluginEnvironment(): "server" | "client";
    runPostInstall(instanceName: string, target: string): Promise<void>;
    createInstance(key: string, gluePluginStore: IGlueStorePlugin, installationPath: string): IInstance;
    getInstances(): IInstance[];
}
