import { ICaseComment } from '@cee-eng/hydrajs/@types/api/public/case'; import { ICaseCommentNode, IGetCaseCommentsQueryResponse } from './types'; /** * GraphQL Body__c values are HTML-encoded once for transport * (e.g. < becomes <, & becomes &). Decode a single pass only — * a second unescape would turn Quill's intentional text escapes * (typed HTML) into live markup / CSS injection. */ export declare function decodeHtmlEntities(text: string): string; /** * Derives the comment author type with priority: Associate > Customer. * Falls back to 'Customer' when no flags match. */ export declare function deriveCreatedByType(isAssociate: boolean, isCustomer: boolean): string; export declare function deriveIsPublic(visibility: string | null | undefined): boolean; export declare function mapVisibility(isPublic: boolean): string; /** * Migrated CaseComment__c bodies (Body__c) from SCT use wrapper divs: * - `legacy-comment legacy-comment-plaintext` → plaintext (linkify bare URLs) * - `legacy-comment legacy-comment-markdown` → markdown/HTML (existing tags) * PCM unwraps the wrapper and routes to the matching render path. */ export declare function unwrapLegacyCommentBody(body: string): { body: string; contentType?: 'plaintext' | 'markdown'; }; /** * Converts a raw Salesforce CaseComment GraphQL node (with wrapped `{ value }` fields) * into the flat ICaseComment interface expected by the discussion UI layer. */ export declare function mapCaseCommentNode(node: ICaseCommentNode): ICaseComment; export declare function mapCaseCommentsResponse(data: IGetCaseCommentsQueryResponse | undefined): ICaseComment[]; //# sourceMappingURL=mapCaseComment.d.ts.map