import type { CollaborationState, UserInfo } from '../../knowledge/CollaborativeBlockEditor/types.js';
interface ChannelData {
    id: string;
    name: string;
    description: string;
    topic: string;
    notes: string;
    announcements: string[];
    type: 'public' | 'private' | 'direct';
    memberCount: number;
    createdAt: string;
    updatedAt: string;
    permissions: {
        canEditDescription: boolean;
        canEditTopic: boolean;
        canEditNotes: boolean;
        canCreateAnnouncements: boolean;
        canManageChannel: boolean;
    };
}
interface ChannelManagementProps {
    channel: ChannelData;
    userId?: string;
    userInfo?: UserInfo;
    serverUrl?: string;
    showUserAwareness?: boolean;
    compactAwareness?: boolean;
    class?: string;
    onChannelUpdate?: (channelId: string, field: string, content: string) => Promise<void>;
    onAnnouncementCreate?: (channelId: string, content: string) => Promise<void>;
    onAnnouncementDelete?: (channelId: string, announcementId: string) => Promise<void>;
    onCollaborationStateChange?: (state: CollaborationState, channelId: string, type: string) => void;
    onUserJoined?: (user: UserInfo, channelId: string, type: string) => void;
    onUserLeft?: (userId: string, channelId: string, type: string) => void;
}
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
    new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
        $$bindings?: Bindings;
    } & Exports;
    (internal: unknown, props: Props & {
        $$events?: Events;
        $$slots?: Slots;
    }): Exports & {
        $set?: any;
        $on?: any;
    };
    z_$$bindings?: Bindings;
}
declare const ChannelManagement: $$__sveltets_2_IsomorphicComponent<ChannelManagementProps, {
    'channel-updated': CustomEvent<{
        channelId: string;
        field: string;
        content: string;
    }>;
    'announcement-created': CustomEvent<{
        channelId: string;
        content: string;
    }>;
    'announcement-deleted': CustomEvent<{
        channelId: string;
        announcementId: string;
    }>;
    'collaboration-state-changed': CustomEvent<{
        state: CollaborationState;
        channelId: string;
        type: string;
    }>;
    'user-joined': CustomEvent<{
        user: UserInfo;
        channelId: string;
        type: string;
    }>;
    'user-left': CustomEvent<{
        userId: string;
        channelId: string;
        type: string;
    }>;
} & {
    [evt: string]: CustomEvent<any>;
}, {}, {}, "">;
type ChannelManagement = InstanceType<typeof ChannelManagement>;
export default ChannelManagement;
//# sourceMappingURL=ChannelManagement.svelte.d.ts.map