import { Tag, TagCustomerConfiguration, TagMerchantConfiguration, TagRulesConfiguration } from '@bringg/types';
import { BasicResponse } from '../Core/Responses';
export type TagGetAllResponse = {
    tags: Tag[];
};
export type TagResponse = BasicResponse & {
    tag: Tag;
    rc?: number;
};
export type TagWithoutConfigurations = Omit<Tag, 'tag_merchant_configuration' | 'tag_customer_configuration' | 'tag_rules_configuration'>;
export type TagMerchantConfigurationDefaultValues = Array<keyof Omit<TagMerchantConfiguration, 'id' | 'merchant_id' | 'tag_id' | 'created_at' | 'updated_at' | 'logo' | 'delivery_pin' | 'email_logo' | 'destination_pin'>>;
export type TagCustomerConfigurationDefaultValues = Array<keyof Omit<TagCustomerConfiguration, 'id' | 'merchant_id' | 'tag_id' | 'created_at' | 'updated_at'>>;
export type TagRulesConfigurationDefaultValues = Array<keyof Omit<TagRulesConfiguration, 'id' | 'merchant_id' | 'tag_id' | 'created_at' | 'updated_at' | 'action_data' | 'ad_hoc_scan_regex_match' | 'first_attempt_promise_from_days' | 'first_attempt_promise_to_days'>>;
export type UpdateTag = Tag & {
    tag_merchant_configuration?: TagMerchantConfiguration & {
        default_values: TagMerchantConfigurationDefaultValues;
    };
    tag_customer_configuration?: TagCustomerConfiguration & {
        default_values: TagCustomerConfigurationDefaultValues;
    };
    tag_rules_configuration?: TagRulesConfiguration & {
        default_values: TagRulesConfigurationDefaultValues;
    };
};
export type CreateTag = {
    tag_merchant_configuration?: TagMerchantConfigurationDefaultValues;
    tag_customer_configuration?: TagCustomerConfigurationDefaultValues;
    tag_rules_configuration?: TagRulesConfigurationDefaultValues;
};
export declare const defaultExtractor: (response: any) => any;
