claritykit-svelte
Version:
A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility
83 lines • 2.88 kB
TypeScript
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