import { GraphicsInterface } from '@sprucelabs/spruce-skill-utils';
import { FeatureAction } from '../features/features.types';
import { BlockedCommands, OptionOverrides } from '../types/cli.types';
import AbstractFeature from './AbstractFeature';
export default class OverrideActionDecorator implements FeatureAction {
    private blockedCommands?;
    private optionOverrides?;
    private ui?;
    private actionCode;
    get invocationMessage(): string;
    get commandAliases(): string[];
    private childAction;
    private parent;
    get optionsSchema(): import("@sprucelabs/schema").Schema | undefined;
    getChild(): FeatureAction<import("@sprucelabs/schema").Schema>;
    constructor(options: {
        action: FeatureAction;
        feature: AbstractFeature;
        ui?: GraphicsInterface;
        blockedCommands?: BlockedCommands;
        optionOverrides?: OptionOverrides;
        actionCode: string;
    });
    private assertCommandIsNotBlocked;
    execute: (optionsArg: any) => Promise<import("../features/features.types").FeatureActionResponse>;
    private getCommands;
    private mixinOptionOverrides;
}
