import { RequestClient } from '@segment/actions-core';
import type { Settings } from './generated-types';
import { Payload as CustomEventsPayload } from './customEvents/generated-types';
import { Payload as AttributesPayload } from './setAttributes/generated-types';
import { Payload as TagsPayload } from './manageTags/generated-types';
import { Payload as RegisterPayload } from './registerAndAssociate/generated-types';
export declare const EMAIL = "email";
export declare const SMS = "sms";
export declare function register(request: RequestClient, settings: Settings, payload: RegisterPayload, old_channel: string | null): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
export declare function associate_named_user(request: RequestClient, settings: Settings, channel_id: string, named_user_id: string, channel_type: string): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
export declare function setCustomEvent(request: RequestClient, settings: Settings, payload: CustomEventsPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
export declare function setBatchCustomEvent(request: RequestClient, settings: Settings, payloads: CustomEventsPayload[]): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
export declare function setAttribute(request: RequestClient, settings: Settings, payload: AttributesPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
export declare function getChannelId(request: RequestClient, settings: Settings, emailAddress: string): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
export declare function manageTags(request: RequestClient, settings: Settings, payload: TagsPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
export declare function map_endpoint(region: string): "https://go.airship.eu" | "https://go.urbanairship.com";
declare function _build_custom_event_object(payload: CustomEventsPayload): object;
declare function _build_attributes_object(payload: AttributesPayload): object;
declare function _build_attribute(attribute_key: string, attribute_value: any, occurred: string | number): {
    action: string;
    key: string;
    value?: string | number | boolean;
    timestamp: string | boolean;
};
declare function _build_tags_object(payload: TagsPayload): object;
declare function _validate_timestamp(timestamp: string | number | Date): string | false;
declare function _parse_and_format_date(date_string: string): string;
declare function _parse_date(attribute_value: any): Date | null;
export declare const _private: {
    _build_custom_event_object: typeof _build_custom_event_object;
    _build_attributes_object: typeof _build_attributes_object;
    _build_attribute: typeof _build_attribute;
    _build_tags_object: typeof _build_tags_object;
    _parse_date: typeof _parse_date;
    _parse_and_format_date: typeof _parse_and_format_date;
    _validate_timestamp: typeof _validate_timestamp;
};
export {};
