import { Context, DAL, InferEntityType, InternalModuleDeclaration, ModulesSdkTypes, SettingsTypes } from "@medusajs/framework/types";
import { ViewConfiguration, UserPreference } from "../models";
type InjectedDependencies = {
    baseRepository: DAL.RepositoryService;
    viewConfigurationService: ModulesSdkTypes.IMedusaInternalService<any>;
    userPreferenceService: ModulesSdkTypes.IMedusaInternalService<any>;
};
declare const SettingsModuleService_base: import("@medusajs/framework/utils").MedusaServiceReturnType<{
    ViewConfiguration: {
        dto: SettingsTypes.ViewConfigurationDTO;
    };
    UserPreference: {
        dto: SettingsTypes.UserPreferenceDTO;
    };
}>;
export default class SettingsModuleService extends SettingsModuleService_base implements SettingsTypes.ISettingsModuleService {
    protected readonly moduleDeclaration: InternalModuleDeclaration;
    protected baseRepository_: DAL.RepositoryService;
    protected readonly viewConfigurationService_: ModulesSdkTypes.IMedusaInternalService<InferEntityType<typeof ViewConfiguration>>;
    protected readonly userPreferenceService_: ModulesSdkTypes.IMedusaInternalService<InferEntityType<typeof UserPreference>>;
    constructor({ baseRepository, viewConfigurationService, userPreferenceService, }: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration);
    createViewConfigurations(data: SettingsTypes.CreateViewConfigurationDTO | SettingsTypes.CreateViewConfigurationDTO[], sharedContext?: Context): Promise<SettingsTypes.ViewConfigurationDTO | SettingsTypes.ViewConfigurationDTO[]>;
    updateViewConfigurations(idOrSelector: string | SettingsTypes.FilterableViewConfigurationProps, data: SettingsTypes.UpdateViewConfigurationDTO, sharedContext?: Context): Promise<SettingsTypes.ViewConfigurationDTO | SettingsTypes.ViewConfigurationDTO[]>;
    protected updateViewConfigurations_(idOrSelector: string | SettingsTypes.FilterableViewConfigurationProps, data: SettingsTypes.UpdateViewConfigurationDTO, sharedContext?: Context): Promise<InferEntityType<typeof ViewConfiguration>[]>;
    getUserPreference(userId: string, key: string, sharedContext?: Context): Promise<SettingsTypes.UserPreferenceDTO | null>;
    setUserPreference(userId: string, key: string, value: any, sharedContext?: Context): Promise<SettingsTypes.UserPreferenceDTO>;
    getActiveViewConfiguration(entity: string, userId: string, sharedContext?: Context): Promise<SettingsTypes.ViewConfigurationDTO | null>;
    setActiveViewConfiguration(entity: string, userId: string, viewConfigurationId: string, sharedContext?: Context): Promise<void>;
    getSystemDefaultViewConfiguration(entity: string, sharedContext?: Context): Promise<SettingsTypes.ViewConfigurationDTO | null>;
    clearActiveViewConfiguration(entity: string, userId: string, sharedContext?: Context): Promise<void>;
}
export {};
//# sourceMappingURL=settings-module-service.d.ts.map