import { AttributeEditor } from './AttributeEditor';
import { ScopedSubscriptionListEditor } from './ScopedSubscriptionListEditor';
import { TagGroupEditor } from './TagGroupEditor';
import { SubscriptionScope } from './types';
/**
 * Airship contact.
 */
export declare class AirshipContact {
    private readonly module;
    constructor(module: any);
    /**
     * Identifies the contact with a named user Id.
     * @param namedUser The named user Id.
     * @returns A promise.
     */
    identify(namedUser: string): Promise<void>;
    /**
     * Resets the contact.
     * @returns A promise.
     */
    reset(): Promise<void>;
    /**
     * Notifies the contact of a remote login.
     * @returns A promise.
     */
    notifyRemoteLogin(): Promise<void>;
    /**
     * Gets the named user Id.
     * @returns A promise with the result.
     */
    getNamedUserId(): Promise<string | null | undefined>;
    /**
     * Gets the contacts subscription lists.
     * @returns A promise with the result.
     */
    getSubscriptionLists(): Promise<Record<string, SubscriptionScope[]>>;
    /**
     * Edits tag groups.
     * @returns A tag group editor.
     */
    editTagGroups(): TagGroupEditor;
    /**
     * Edits attributes.
     * @returns An attribute editor.
     */
    editAttributes(): AttributeEditor;
    /**
     * Edits subscription lists.
     * @returns A subscription list editor.
     */
    editSubscriptionLists(): ScopedSubscriptionListEditor;
}
//# sourceMappingURL=AirshipContact.d.ts.map