import type { Answers } from 'inquirer';
import type { Args } from '../../Constants';
import { BaseStep } from '../BaseStep';
export declare abstract class BaseIntegration extends BaseStep {
    protected _argv: Args;
    type: string;
    protected _shouldConfigure: Promise<Answers>;
    constructor(_argv: Args);
    uninstall(_answers: Answers): Promise<Answers>;
    /**
     * This can be used for example for platform:boolean to determine
     * if we should configure iOS/Android.
     * Basically this will be merged into answers so it can be checked by a later step.
     */
    shouldConfigure(_answers: Answers): Promise<Answers>;
    shouldEmit(_answers: Answers): Promise<boolean>;
    abstract emit(answers: Answers): Promise<Answers>;
}
