import { NpmPackage } from '@sprucelabs/spruce-skill-utils';
import AbstractFeature, { FeatureDependency, FeatureOptions, InstallResults } from '../AbstractFeature';
import { FeatureCode } from '../features.types';
export default class PermissionFeature extends AbstractFeature {
    code: FeatureCode;
    nameReadable: string;
    description: string;
    dependencies: FeatureDependency[];
    actionsDir: string;
    packageDependencies: NpmPackage[];
    private writer;
    constructor(options: FeatureOptions);
    handleDidExecuteAction({ featureCode, actionCode, }: {
        featureCode: string;
        actionCode: string;
    }): Promise<import("../features.types").FeatureActionResponse>;
    afterPackageInstall(): Promise<InstallResults>;
    private writeTypesFile;
    private writePlugin;
}
declare module '../../features/features.types' {
    interface FeatureMap {
        permission: PermissionFeature;
    }
    interface FeatureOptionsMap {
        permission: undefined;
    }
}
