import { AbstractService } from '../../common/AbstractService';
import { Scope } from '../entity/Scope';
import { PageOptions, PageResult } from '../util/EntityUtil';
export interface CreateScopeCmd extends Pick<Scope, 'name' | 'registryId'> {
    operatorId?: string;
}
export interface UpdateRegistryCmd extends Pick<Scope, 'name' | 'scopeId' | 'registryId'> {
    operatorId?: string;
}
export interface RemoveScopeCmd {
    scopeId: string;
    operatorId?: string;
}
export interface RemoveScopeByRegistryIdCmd {
    registryId: string;
    operatorId?: string;
}
export declare class ScopeManagerService extends AbstractService {
    private readonly scopeRepository;
    findByName(name: string): Promise<Scope | null>;
    countByRegistryId(registryId: string): Promise<number>;
    createScope(createCmd: CreateScopeCmd): Promise<Scope>;
    listScopes(page: PageOptions): Promise<PageResult<Scope>>;
    listScopesByRegistryId(registryId: string, page: PageOptions): Promise<PageResult<Scope>>;
    removeByRegistryId(removeCmd: RemoveScopeByRegistryIdCmd): Promise<void>;
    remove(removeCmd: RemoveScopeCmd): Promise<void>;
}
