import { actionMiddlewares, getterMiddlewares, mutationMiddlewares, stateMiddlewares } from '@/StoreModule/middlewares';
export function State(options) {
    return (target, propertyKey) => {
        stateMiddlewares.forEach(mw => {
            mw(options, target, propertyKey);
        });
        if (!target.hasOwnProperty('statePropsNames'))
            target.statePropsNames = [];
        target.statePropsNames.push(propertyKey);
    };
}
export function Mutation(options) {
    return (target, propertyKey, descriptor) => {
        mutationMiddlewares.forEach(mw => {
            mw(options, target, propertyKey, descriptor);
        });
        if (!target.hasOwnProperty('mutationsNames'))
            target.mutationsNames = [];
        target.mutationsNames.push(propertyKey);
    };
}
export function Action(options) {
    return (target, propertyKey, descriptor) => {
        actionMiddlewares.forEach(mw => {
            mw(options, target, propertyKey, descriptor);
        });
        if (!target.hasOwnProperty('actionsNames'))
            target.actionsNames = [];
        target.actionsNames.push(propertyKey);
    };
}
export function Getter(options) {
    return (target, propertyKey, descriptor) => {
        getterMiddlewares.forEach(mw => {
            mw(options, target, propertyKey, descriptor);
        });
        if (!target.hasOwnProperty('gettersNames'))
            target.gettersNames = [];
        target.gettersNames.push(propertyKey);
    };
}
//# sourceMappingURL=annotations.js.map