import { AttributeEditor } from './AttributeEditor';
import { SubscriptionListEditor } from './SubscriptionListEditor';
import { TagGroupEditor } from './TagGroupEditor';
import { TagEditor } from './TagEditor';
/**
 * Airship channel.
 */
export declare class AirshipChannel {
    private readonly module;
    constructor(module: any);
    /**
     * Enables channel creation if channel creation has been delayed.
     * It is only necessary to call this when isChannelCreationDelayEnabled
     * has been set to `true` in the airship config.
     * Deprecated. Use the Private Manager to disable all features instead.
     */
    enableChannelCreation(): Promise<void>;
    /**
     * Adds a device tag.
     * Deprecated. Use editTags() instead.
     * @param tag The tag.
     * @returns A promise.
     */
    addTag(tag: string): Promise<void>;
    /**
     * Removes a device tag.
     * Deprecated. Use editTags() instead.
     * @param tag The tag.
     * @returns A promise.
     */
    removeTag(tag: string): Promise<void>;
    /**
     * Edits device tags.
     * @returns A tag editor.
     */
    editTags(): TagEditor;
    /**
     * Gets the device tags.
     * @returns A promise with the result.
     */
    getTags(): Promise<string[]>;
    /**
     * Gets the channel Id.
     *
     * @returns A promise with the result.
     */
    getChannelId(): Promise<string | null | undefined>;
    /**
     * Returns the channel ID. If the channel ID is not yet created the function it will wait for it before returning. After
     * the channel ID is created, this method functions the same as `getChannelId()`.
     *
     * @returns A promise with the result.
     */
    waitForChannelId(): Promise<string | null | undefined>;
    /**
     * Gets a list of the channel's subscriptions.
     * @returns A promise with the result.
     */
    getSubscriptionLists(): Promise<string[]>;
    /**
     * 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(): SubscriptionListEditor;
}
//# sourceMappingURL=AirshipChannel.d.ts.map