import { FileDescription } from '../../types/cli.types';
import AbstractFeature, { FeatureDependency, FeatureOptions } from '../AbstractFeature';
import { FeatureActionResponse, FeatureCode } from '../features.types';
import EventContractBuilder from './builders/EventContractBuilder';
export default class EventFeature extends AbstractFeature {
    code: FeatureCode;
    nameReadable: string;
    description: string;
    dependencies: FeatureDependency[];
    _packageDependencies: {
        name: string;
    }[];
    actionsDir: string;
    readonly fileDescriptions: FileDescription[];
    private contractBuilder?;
    private initiatingAction?;
    constructor(options: FeatureOptions);
    afterPackageInstall(): Promise<FeatureActionResponse>;
    private optionallySyncListeners;
    private handleWillExecute;
    private syncListenersAndMixinResults;
    private handleDidExecute;
    private combineCodes;
    private appendRemoteToResultsOrPrompt;
    private handleDidFetchSchemas;
    getEventContractBuilder(): EventContractBuilder;
    hasBeenSynced(): boolean;
}
declare module '../../features/features.types' {
    interface FeatureMap {
        event: EventFeature;
    }
    interface FeatureOptionsMap {
        event: undefined;
    }
}
