declare type Style = { [x: string]: string; }; export declare enum Features { CanRecordOrgPeer = "can_record_org_peer", CanUserResponse = "can_user_response", Share = "gw-share-icon", RenderHtml = "custom_html_components", WidgetBlocks = "widget-blocks", LibraryRecordings = "library_recordings", Avatars = "avatars" } export declare enum ConstantOverrides { RestorePronunciationTime = "gw-restore-pronunciation-time", TooltipDelay = "tooltip-display-delay" } export declare enum StyleOverrides { PronunciationNameLineMessage = "pronunciation-name-line-message" } export declare enum ExcludeRule { NameOwner = "exclude_name_owner" } export declare enum HtmlComponents { UnderMyInfo = "under_my_info" } export interface FeaturesManager { getStyle: (key: string) => Style; isPresent: (key: string) => boolean; getValue: (key: string) => any; getMetadata: (key: string) => { [x: string]: any; } | {}; canRecordOrgPeer: (key: string) => boolean; canUserResponse: (key: string) => boolean; renderCustomComponent: (component: string) => any; } export declare class CustomFeaturesManager implements FeaturesManager { private readonly customFeatures; constructor(customFeatures: any); getStyle: (key: string) => Style; isPresent: (key: string) => boolean; getValue: (key: string) => any; getMetadata: (key: string) => { [x: string]: any; }; canRecordOrgPeer: (ownerSignature: any) => boolean; canUserResponse: (ownerSignature: any) => boolean; renderCustomComponent: (component: any) => any; } export {};