import { BaseHandler } from './base.handler';
import { ViewerServiceConfig, ViewerGetOptions, ViewerListOptions, ViewerCreateOptions, ViewerUpdateOptions, ViewerDeleteOptions, ViewerImportExternalOptions, ViewerConfigUpdateOptions, ViewerLotteryWinsOptions, ViewerTagAddOptions, ViewerTagRemoveOptions, ViewerTagListOptions, ViewerTagCreateOptions, ViewerTagUpdateOptions, ViewerTagDeleteOptions, ViewerLabelListOptions, ViewerLabelCreateOptions, ViewerLabelUpdateOptions, ViewerLabelDeleteOptions, ViewerChannelLabelRefsOptions } from '../types/viewer';
import { AuthConfig } from '../types/auth';
export declare class ViewerHandler extends BaseHandler {
    private readonly viewerService;
    constructor(authConfig: AuthConfig, serviceConfig: ViewerServiceConfig);
    getViewer(options: ViewerGetOptions): Promise<void>;
    listViewers(options: ViewerListOptions): Promise<void>;
    createViewer(options: ViewerCreateOptions): Promise<void>;
    updateViewer(options: ViewerUpdateOptions): Promise<void>;
    deleteViewer(options: ViewerDeleteOptions): Promise<void>;
    importExternalViewers(options: ViewerImportExternalOptions): Promise<void>;
    updateViewerConfig(options: ViewerConfigUpdateOptions): Promise<void>;
    listViewerLotteryWins(options: ViewerLotteryWinsOptions): Promise<void>;
    listViewerTags(options: ViewerTagListOptions): Promise<void>;
    createViewerTag(options: ViewerTagCreateOptions): Promise<void>;
    updateViewerTag(options: ViewerTagUpdateOptions): Promise<void>;
    deleteViewerTag(options: ViewerTagDeleteOptions): Promise<void>;
    addViewerTag(options: ViewerTagAddOptions): Promise<void>;
    removeViewerTag(options: ViewerTagRemoveOptions): Promise<void>;
    listLabels(options: ViewerLabelListOptions): Promise<void>;
    createLabel(options: ViewerLabelCreateOptions): Promise<void>;
    updateLabel(options: ViewerLabelUpdateOptions): Promise<void>;
    deleteLabel(options: ViewerLabelDeleteOptions): Promise<void>;
    addChannelLabelRefs(options: ViewerChannelLabelRefsOptions): Promise<void>;
    private compactParams;
    private validateRequiredStringOptions;
    private validateOutputOption;
    private validateYnOptions;
    private validatePositiveNumber;
    private validateAccountLabelName;
    private validateViewerConfigOptions;
    private validateChannelLabelRefs;
    private parseJsonObject;
    private parseStringList;
    private buildExternalViewers;
    private validateGetOptions;
    private validatePaginationOptions;
    private parseAndValidateTagOptions;
    private displayGetResult;
    private displayListResult;
    private displayWriteResult;
    private displayViewerLotteryWins;
    private displayAccountLabels;
    private displayTagListResult;
    private displayTagActionResult;
    private normalizeViewerLabel;
    private truncate;
    private formatDuration;
    private formatTime;
}
//# sourceMappingURL=viewer.handler.d.ts.map