import { StoredClassModel } from '@drincs/pixi-vn';
import ActivityInterface from '../../interface/ActivityInterface.js';
import NavigationAbstractInterface from '../../interface/navigation/NavigationAbstractClass.js';
import '@drincs/nqtr';

declare abstract class NavigationAbstractClass extends StoredClassModel implements NavigationAbstractInterface {
    private defaultActivities;
    constructor(categoryId: string, id: string, defaultActivities?: ActivityInterface[]);
    private get defaultActivitiesIds();
    private get activeActivityScheduling();
    private get excludedActivitiesScheduling();
    private removeActivityScheduling;
    private editActivityScheduling;
    private editExcludedActivityScheduling;
    private get additionalActivitiesIds();
    private get excludedActivitiesIds();
    addActivity(activity: ActivityInterface, options?: {
        /**
         * the activity will be associated with this class only for the specified hours.
         * If you set from 3 and to 5, the activity will be associated with this class only for hours 3, 4 and 5. soSo at 2 or 6 it will not be associated with this class.
         */
        hours?: {
            from: number;
            to: number;
        };
        /**
         * the activity will be associated with this class from the specified day.
         * If you set 3, the activity will be associated with this class from day 3. So at day 2 it will not be associated with this class.
         */
        fromDay?: number;
        /**
         * the activity will be associated with this class to the specified day.
         * If you set 3, the activity will be associated with this class until day 3. So at day 4 it will not be associated with this class.
         */
        toDay?: number;
    }): void;
    removeActivity(activity: ActivityInterface, options?: {
        /**
         * The activity will be excluded from this class only for the specified days.
         * If to 3, the activity will be excluded from this class only for days 1, 2 and 3. So at day 4 it will be associated with this class.
         */
        toDay?: number;
    }): void;
    clearExpiredActivities(): void;
    get activities(): ActivityInterface[];
}

export { NavigationAbstractClass as default };
