import { Request, Response } from "express";
import { CreateChannel } from "../../app/use-cases/CreateChannel";
import { UpdateChannel } from "../../app/use-cases/UpdateChannel";
import { ConfigureTelegramChannel } from "../../app/use-cases/ConfigureTelegramChannel";
import { IChannelRepository } from "../../domain/repositories/IChannelRepository";
export declare class ChannelController {
    private channelRepository;
    private createChannelUseCase;
    private updateChannelUseCase;
    private configureTelegramChannelUseCase;
    constructor(channelRepository: IChannelRepository, createChannelUseCase: CreateChannel, updateChannelUseCase: UpdateChannel, configureTelegramChannelUseCase: ConfigureTelegramChannel);
    /**
     * Crear un nuevo canal
     */
    createChannel(req: Request, res: Response): Promise<void>;
    /**
     * Obtener todos los canales de una organización
     */
    getChannels(req: Request, res: Response): Promise<void>;
    /**
     * Obtener un canal específico
     */
    getChannel(req: Request, res: Response): Promise<void>;
    /**
     * Actualizar un canal
     */
    updateChannel(req: Request, res: Response): Promise<void>;
    /**
     * Eliminar un canal
     */
    deleteChannel(req: Request, res: Response): Promise<void>;
    /**
     * Configurar un canal de Telegram específicamente
     */
    configureTelegramChannel(req: Request, res: Response): Promise<void>;
    /**
     * Obtener canales por tipo
     */
    getChannelsByType(req: Request, res: Response): Promise<void>;
    /**
     * Activar un canal
     */
    activateChannel(req: Request, res: Response): Promise<void>;
    /**
     * Desactivar un canal
     */
    deactivateChannel(req: Request, res: Response): Promise<void>;
}
export declare const createChannel: (req: Request, res: Response) => Promise<void>;
export declare const getChannelById: (req: Request, res: Response) => Promise<void>;
export declare const listChannels: (req: Request, res: Response) => Promise<void>;
export declare const updateChannel: (req: Request, res: Response) => Promise<void>;
export declare const deleteChannel: (req: Request, res: Response) => Promise<void>;
//# sourceMappingURL=channelController.d.ts.map