/**
 * TypeScript types for ChannelSidebar component
 */
export interface ChannelNode {
    id: string;
    name: string;
    type: 'channel' | 'category' | 'dm' | 'voice';
    parentId?: string;
    children?: ChannelNode[];
    unreadCount?: number;
    mentionCount?: number;
    isOnline?: boolean;
    isTyping?: boolean;
    icon?: string;
    description?: string;
    permissions?: {
        canView: boolean;
        canEdit: boolean;
        canDelete: boolean;
        canManage: boolean;
    };
}
export interface ChannelSidebarEvents {
    'channel-select': {
        channel: ChannelNode;
    };
    'channel-context-menu': {
        channel: ChannelNode;
        event: MouseEvent;
    };
    'channels-reorder': {
        draggedChannel: ChannelNode;
        targetChannel: ChannelNode;
        position: 'before' | 'after' | 'inside';
    };
    'search-change': {
        query: string;
    };
    'toggle-collapse': {
        collapsed: boolean;
    };
}
export interface ChannelSidebarProps {
    channels?: ChannelNode[];
    selectedChannelId?: string;
    collapsed?: boolean;
    showSearch?: boolean;
    searchPlaceholder?: string;
    allowDragDrop?: boolean;
    class?: string;
}
//# sourceMappingURL=types.d.ts.map