import { SchemaValues } from '@sprucelabs/schema';
import AbstractAction from '../../AbstractAction';
import { ActionOptions, FeatureActionResponse } from '../../features.types';
import PermissionStore from '../stores/PermissionStore';
import PermissionWriter from '../writers/PermissionWriter';
export default class SyncAction extends AbstractAction<OptionsSchema> {
    invocationMessage: string;
    optionsSchema: {
        id: string;
        fields: {
            shouldSyncCorePermissions: {
                type: "boolean";
            };
        };
    };
    readonly commandAliases: string[];
    private permissions;
    private writer;
    constructor(options: ActionOptions);
    execute(options?: SyncPermissionsOptions): Promise<FeatureActionResponse>;
}
declare const schema: {
    id: string;
    fields: {
        shouldSyncCorePermissions: {
            type: "boolean";
        };
    };
};
type OptionsSchema = typeof schema;
export type SyncPermissionsOptions = SchemaValues<OptionsSchema>;
export declare function writePermissionTypesFile(options: {
    permissions: PermissionStore;
    shouldSyncCorePermissions: boolean | undefined;
    namespaces?: string[];
    writer: PermissionWriter;
    cwd: string;
}): Promise<import("../../../writers/AbstractWriter").WriteResults>;
export {};
