import { CommandModel, CommandService, DataModel, DataService, DetailKey, IInvoke } from '@mbc-cqrs-serverless/core';
import { CommonTenantCreateDto, TenantCreateDto, TenantGroupAddDto, TenantGroupUpdateDto, TenantUpdateDto } from '../dto';
import { ITenantService } from '../interfaces/tenant.service.interface';
export declare class TenantService implements ITenantService {
    private readonly commandService;
    private readonly dataService;
    private readonly logger;
    constructor(commandService: CommandService, dataService: DataService);
    getTenant(key: DetailKey): Promise<DataModel>;
    createCommonTenant(dto: CommonTenantCreateDto, context: {
        invokeContext: IInvoke;
    }): Promise<CommandModel>;
    createTenant(dto: TenantCreateDto, context: {
        invokeContext: IInvoke;
    }): Promise<CommandModel>;
    updateTenant(key: DetailKey, dto: TenantUpdateDto, context: {
        invokeContext: IInvoke;
    }): Promise<CommandModel>;
    deleteTenant(key: DetailKey, context: {
        invokeContext: IInvoke;
    }): Promise<CommandModel>;
    addTenantGroup(dto: TenantGroupAddDto, context: {
        invokeContext: IInvoke;
    }): Promise<CommandModel>;
    customizeSettingGroups(dto: TenantGroupUpdateDto, context: {
        invokeContext: IInvoke;
    }): Promise<CommandModel>;
    private sortGroups;
    createTenantGroup(tenantGroupCode: string, dto: TenantCreateDto, context: {
        invokeContext: IInvoke;
    }): Promise<CommandModel>;
}
