import { Enc, Path, Patp, PatpNoSig, Poke, Thread } from '../lib/types'; import { Group, GroupPolicy, GroupPolicyDiff, GroupUpdateAddMembers, GroupUpdateAddTag, GroupUpdateChangePolicy, GroupUpdateRemoveGroup, GroupUpdateRemoveMembers, GroupUpdateRemoveTag, Resource, RoleTags, Tag } from './types'; import { GroupUpdate } from './update'; export declare const GROUP_UPDATE_VERSION = 0; export declare const proxyAction: (data: T, version?: number) => Poke; declare const storeAction: (data: T, version?: number) => Poke; export { storeAction as groupStoreAction }; declare const viewAction: (data: T) => Poke; export { viewAction as groupViewAction }; export declare const viewThread: (thread: string, action: T) => Thread; export declare const removeMembers: (resource: Resource, ships: PatpNoSig[]) => Poke; export declare const addTag: (resource: Resource, tag: Tag, ships: Patp[]) => Poke; export declare const removeTag: (tag: Tag, resource: Resource, ships: PatpNoSig[]) => Poke; export declare const addMembers: (resource: Resource, ships: PatpNoSig[]) => Poke; export declare const removeGroup: (resource: Resource) => Poke; export declare const changePolicy: (resource: Resource, diff: Enc) => Poke>; export declare const join: (ship: string, name: string, app: "groups" | "graph", autojoin: boolean, share: boolean) => Poke; export declare const createGroup: (name: string, policy: Enc, title: string, description: string) => Thread; export declare const deleteGroup: (ship: string, name: string) => Thread; export declare const leaveGroup: (ship: string, name: string) => Thread; export declare const invite: (ship: string, name: string, ships: Patp[], description: string) => Thread; export declare const abortJoin: (resource: string) => Poke; export declare const roleTags: string[]; export declare const groupBunts: { group: () => Group; policy: () => GroupPolicy; }; export declare const joinError: readonly ["no-perms", "strange", "abort"]; export declare const joinResult: readonly ["done", "no-perms", "strange", "abort"]; export declare const joinLoad: readonly ["start", "added", "metadata"]; export declare const joinProgress: readonly ["start", "added", "metadata", "done", "no-perms", "strange", "abort"]; export declare function roleForShip(group: Group, ship: PatpNoSig): RoleTags | undefined; export declare function resourceFromPath(path: Path): Resource; export declare function makeResource(ship: string, name: string): { ship: string; name: string; }; export declare const isWriter: (group: Group, resource: string, ship: string) => boolean; export declare function isChannelAdmin(group: Group, resource: string, ship: string): boolean; export declare function isHost(resource: string, ship: string): boolean;