import { Tag, TagCustomerConfiguration, TagMerchantConfiguration, TagRulesConfiguration } from '@bringg/types';
import Session from '../../Services/Identity/Session';
import { CreateTag, TagWithoutConfigurations, UpdateTag } from '../Tag.consts';
export default class TagsApi {
    private readonly tagsStore;
    private readonly tagMerchantConfigurationsStore;
    private readonly tagCustomerConfigurationsStore;
    private readonly tagRulesConfigurationsStore;
    private readonly tagsEntity;
    private readonly tagsStorableDataService;
    constructor(session: Session);
    getTag(id: number): TagWithoutConfigurations;
    getTagMerchantConfiguration(tagId: number): TagMerchantConfiguration;
    getTagCustomerConfiguration(tagId: number): TagCustomerConfiguration;
    getTagRulesConfiguration(tagId: number): TagRulesConfiguration;
    loadAll(): Promise<Tag[]>;
    update(id: number, options: UpdateTag): Promise<Tag>;
    create(options: CreateTag): Promise<Tag>;
    delete(id: number): Promise<void>;
    private updateConfigurationStore;
    private removeAllConfigurationsByTagId;
    private removeConfigurationByTagId;
}
