import { PostContent } from '../api';
import { ChannelType } from '../db';
import { GroupJoinStatus, GroupPrivacy } from '../db/types';

import * as ub from './channel';
import * as ubc from './content';
import * as ubg from './groups';
type App = 'chat' | 'heap' | 'diary';
export declare function checkNest(nest: string): boolean;
export declare function nestToFlag(nest: string): [App, string];
export declare function preSig(ship: string): string;
export declare function desig(ship: string): string;
export declare function getFirstInline(content: ub.Story): ubc.Inline[];
export declare function citeToPath(cite: ubc.Cite): string;
export declare function pathToCite(path: string): ubc.Cite | undefined;
export declare function encodeString(string: string): string;
export declare function idIsNest(id: string): boolean;
export declare function getChannelType(channelId: string): "chat" | "notebook" | "gallery" | "dm" | "groupDm";
export declare function getChannelKindFromType(type: Omit<ChannelType, 'dm' | 'groupDm'>): "chat" | "heap" | "diary";
export declare function getTextContent(story: PostContent): string;
export declare function getBlockContent(block: ubc.Block): string | string[];
export declare function getListingContent(listing: ubc.Listing): string;
export declare function getInlinesContent(inlines: ubc.Inline[]): string;
export declare function getInlineContent(inline: ubc.Inline): string;
export declare function whomIsDm(whom: string): boolean;
export declare function whomIsMultiDm(whom: string): boolean;
export declare function whomIsFlag(whom: string): boolean;
export declare function createMultiDmId(seed?: number): string;
export declare function getJoinStatusFromGang(gang: ubg.Gang): GroupJoinStatus | null;
export declare function extractGroupPrivacy(preview: ubg.GroupPreview | ubg.GroupPreviewV7 | ubg.Group | null, claim?: ubg.GroupClaim): GroupPrivacy;
export declare function createSectionId(): string;
export {};
//# sourceMappingURL=utils.d.ts.map