import { SchemaValues } from '@sprucelabs/schema';
import AbstractAction from '../../AbstractAction';
import { FeatureActionResponse } from '../../features.types';
declare const optionsSchema: {
    id: string;
    description: string;
    fields: {
        contractDestinationDir: {
            label: "Contract destination";
            type: "text";
            hint: "Where I will generate event contracts.";
            defaultValue: "#spruce/events";
            options: undefined;
        };
        schemaTypesLookupDir: {
            label: "Schema types lookup directory";
            type: "text";
            hint: "Where I will lookup schema types and interfaces.";
            defaultValue: "#spruce/schemas";
            options: undefined;
        };
        shouldSyncOnlyCoreEvents: {
            label: "Sync only core events";
            type: "boolean";
            hint: "For use in @sprucelabs/mercury-types";
            options: undefined;
        };
        skillEventContractTypesFile: {
            label: "Event signature types file";
            type: "text";
            defaultValue: "@sprucelabs/mercury-types/build/types/mercury.types";
            options: undefined;
        };
        eventBuilderFile: {
            label: "Event builder file";
            type: "text";
            defaultValue: "@sprucelabs/mercury-types";
            options: undefined;
        };
        nameReadable: {
            isRequired: true;
            label: "Readable name";
            type: "text";
            hint: "The name people will read";
            options: undefined;
        };
        nameKebab: {
            label: string;
            hint: string;
            isRequired: true;
            type: "text";
            options: undefined;
        };
        nameCamel: {
            isRequired: true;
            label: "Camel case name";
            type: "text";
            hint: "camelCase version of the name";
            options: undefined;
        };
        isGlobal: {
            type: "boolean";
            label: string;
            hint: string;
        };
        version: {
            type: "text";
            label: string;
            isPrivate: true;
        };
    };
};
type OptionsSchema = typeof optionsSchema;
export default class CreateAction extends AbstractAction<OptionsSchema> {
    optionsSchema: OptionsSchema;
    invocationMessage: string;
    execute(options: SchemaValues<OptionsSchema>): Promise<FeatureActionResponse>;
}
export {};
