import { AbstractEventEmitter } from '@sprucelabs/mercury-event-emitter';
import { MercuryEventEmitter } from '@sprucelabs/mercury-types';
export declare const globalContract: {
    eventSignatures: {
        'watcher.did-detect-change': {
            emitPayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.WatcherDidDetectChangesEmitPayloadSchema;
        };
        'schema.did-fetch-schemas': {
            emitPayloadSchema: {
                id: string;
                fields: {
                    schemas: {
                        type: "raw";
                        isArray: true;
                        options: {
                            valueType: string;
                        };
                    };
                };
            };
            responsePayloadSchema: {
                id: string;
                fields: {
                    schemas: {
                        type: "raw";
                        isArray: true;
                        options: {
                            valueType: string;
                        };
                    };
                };
            };
        };
        'skill.register-dashboard-widgets': {};
        'test.register-abstract-test-classes': {
            responsePayloadSchema: {
                id: string;
                fields: {
                    abstractClasses: {
                        type: "schema";
                        isRequired: true;
                        isArray: true;
                        options: {
                            schema: {
                                id: string;
                                fields: {
                                    name: {
                                        type: "text";
                                        isRequired: true;
                                    };
                                    label: {
                                        type: "text";
                                        isRequired: true;
                                    };
                                    import: {
                                        type: "text";
                                        isRequired: true;
                                    };
                                    featureCode: {
                                        type: "text";
                                    };
                                };
                            };
                        };
                    };
                };
            };
        };
        'feature.will-execute': {
            emitPayloadSchema: {
                id: string;
                importsWhenLocal: string[];
                fields: {
                    featureCode: {
                        type: "text";
                        isRequired: true;
                    };
                    actionCode: {
                        type: "text";
                        isRequired: true;
                    };
                    options: {
                        type: "raw";
                        options: {
                            valueType: string;
                        };
                    };
                };
            };
            responsePayloadSchema: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.ActionResponseSchema;
        };
        'feature.did-execute': {
            emitPayloadSchema: {
                id: string;
                importsWhenLocal: string[];
                fields: {
                    featureCode: {
                        type: "text";
                        isRequired: true;
                    };
                    actionCode: {
                        type: "text";
                        isRequired: true;
                    };
                    results: {
                        type: "raw";
                        isRequired: true;
                        options: {
                            valueType: string;
                        };
                    };
                };
            };
            responsePayloadSchema: {
                id: string;
                fields: {
                    files: {
                        type: "schema";
                        isArray: true;
                        options: {
                            schema: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.GeneratedFileSchema;
                        };
                    };
                    headline: {
                        type: "text";
                        options: undefined;
                    };
                    hints: {
                        type: "text";
                        isArray: true;
                        options: undefined;
                    };
                    summaryLines: {
                        type: "text";
                        isArray: true;
                        options: undefined;
                    };
                    errors: {
                        type: "raw";
                        isArray: true;
                        options: {
                            valueType: `AbstractSpruceError<any>`;
                        };
                    };
                    meta: {
                        type: "raw";
                        options: {
                            valueType: `Record<string, any>`;
                        };
                    };
                    packagesInstalled: {
                        type: "schema";
                        isArray: true;
                        options: {
                            schema: import("@sprucelabs/mercury-types").SpruceSchemas.SpruceCli.v2020_07_22.NpmPackageSchema;
                        };
                    };
                };
            };
        };
        'test.reporter-did-boot': {
            emitPayloadSchema: {
                id: string;
                fields: {
                    reporter: {
                        type: "raw";
                        isRequired: true;
                        options: {
                            valueType: string;
                        };
                    };
                };
            };
        };
        'skill.will-write-directory-template': {
            responsePayloadSchema: {
                id: string;
                fields: {
                    filesToSkip: {
                        type: "text";
                        isArray: true;
                    };
                };
            };
        };
    };
};
export type GlobalEventContract = typeof globalContract;
export type GlobalEmitter = MercuryEventEmitter<GlobalEventContract>;
export default class CliGlobalEmitter extends AbstractEventEmitter<GlobalEventContract> {
    static Emitter(): GlobalEmitter;
}
