import { ChannelCreateRequest, ChannelModel, ChannelServiceConfig, ChannelListRequest, ChannelListItem, ChannelDetailRequest, ChannelDetailModel, ChannelUpdateRequest, ChannelUpdateResponse, ChannelDeleteResponse, ChannelBatchDeleteRequest, ChannelBatchDeleteResponse } from '../types/channel';
import { AuthConfig } from '../types/auth';
export declare class ChannelService {
    private readonly httpClient;
    private readonly config;
    private readonly authConfig;
    constructor(authConfig: AuthConfig, serviceConfig: ChannelServiceConfig);
    createChannel(request: ChannelCreateRequest): Promise<ChannelModel>;
    listChannels(request?: ChannelListRequest): Promise<ChannelListItem[]>;
    getChannelDetail(request: ChannelDetailRequest): Promise<ChannelDetailModel>;
    updateChannel(request: ChannelUpdateRequest): Promise<ChannelUpdateResponse>;
    deleteChannel(channelId: string): Promise<ChannelDeleteResponse>;
    batchDeleteChannels(request: ChannelBatchDeleteRequest): Promise<ChannelBatchDeleteResponse>;
    private validateListRequest;
    private validateChannelDetailRequest;
    private validateChannelUpdateRequest;
    private validateChannelId;
    private validateBatchDeleteRequest;
    private createHttpClient;
    private validateCreateRequest;
    private transformToChannelModel;
    private transformAxiosError;
    private sanitizeRequest;
}
//# sourceMappingURL=channel.service.d.ts.map