import type { IContextField, IContextFieldDto } from '../types/stores/context-field-store';
import type { IUnleashStores } from '../types/stores';
import type { IUnleashConfig } from '../types/option';
import type { ContextFieldStrategiesSchema } from '../openapi/spec/context-field-strategies-schema';
import { type IAuditUser } from '../types';
import type { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType';
import type EventService from '../features/events/event-service';
declare class ContextService {
    private projectStore;
    private eventService;
    private contextFieldStore;
    private featureStrategiesStore;
    private logger;
    private flagResolver;
    private privateProjectChecker;
    constructor({ projectStore, contextFieldStore, featureStrategiesStore, }: Pick<IUnleashStores, 'projectStore' | 'contextFieldStore' | 'featureStrategiesStore'>, { getLogger, flagResolver, }: Pick<IUnleashConfig, 'getLogger' | 'flagResolver'>, eventService: EventService, privateProjectChecker: IPrivateProjectChecker);
    getAll(): Promise<IContextField[]>;
    getContextField(name: string): Promise<IContextField>;
    getStrategiesByContextField(name: string, userId: number): Promise<ContextFieldStrategiesSchema>;
    private mapStrategies;
    createContextField(value: IContextFieldDto, auditUser: IAuditUser): Promise<IContextField>;
    updateContextField(updatedContextField: IContextFieldDto, auditUser: IAuditUser): Promise<void>;
    deleteContextField(name: string, auditUser: IAuditUser): Promise<void>;
    validateUniqueName({ name, }: Pick<IContextFieldDto, 'name'>): Promise<void>;
    validateName(name: string): Promise<void>;
}
export default ContextService;
//# sourceMappingURL=context-service.d.ts.map