perplex-plus
Version:
[](package.json)
923 lines (758 loc) • 59.5 kB
TypeScript
export declare const $c: (cls: string, parent?: JQuery) => JQuery<HTMLElement>;
export declare const $i: (id: string, parent?: JQuery) => JQuery<HTMLElement>;
export declare const academicSvgPathPrefix = "M22 9l-10 -4l-10 4l10 4l10 -4v6";
export declare const academicTablerIconClass = "tabler-icon-school";
export declare const addCodeBlocksDbListener: (listener: CodeBlocksDbListenersOptional) => void;
declare type AnswerBarType = 'perplexity' | 'perplexity-animation' | 'pro' | 'reasoning' | 'research';
export declare const areCodeBlockInfosEqual: (a: CodeBlockInfo, b: CodeBlockInfo) => boolean;
export declare const arrowRightTablerIconClass = "tabler-icon-arrow-right";
export declare const arrowUpRightTablerIconClass = "tabler-icon-arrow-up-right";
export declare const arrowUpTablerIconClass = "tabler-icon-arrow-up";
export declare const atomSvgPathPrefixes: string[];
export declare const autoTablerIconClass = "tabler-icon-arrows-shuffle";
export declare const availableForUserToSelectModelDescriptors: ReadonlyArray<Readonly<ModelDescriptor>>;
declare type BlockedEnterHandler = ($textarea: JQuery<HTMLElement>, $wrapper: JQuery<HTMLElement>) => Promise<void>;
export declare const bulbSvgPathPrefix = "M11.92 1.889a7.035 7.035 0 0 1 7.034";
export declare const calcNewPromptValueFromTextAndPosition: (originalValue: string, toAdd: string, position: InputTextPosition, caretPos: number) => {
newValue: string;
newCaretPosition: number;
};
export declare const changeValueOfTextAreaViaEvent: (selector: HTMLTextAreaElement, value: string) => void;
export declare const checkCodeBlocks: () => void;
export declare type CodeBlockInfo = {
cbId: string;
answerIndex: number;
codeBlockIndex: number;
language: string;
code: string;
finished: boolean;
};
declare namespace codeBlockInfo {
export {
CodeBlockInfo,
WindowWithDebugCodeBlocksInfo,
getCodeAndLanguageFromCodeEl,
getCodeBlockInfo,
getCodeBlockElementFromCodeBlockInfo
}
}
declare namespace codeBlocksDb {
export {
WindowWithDebugCodeBlocksDb,
CodeBlocksDbListeners,
CodeBlocksDbListenersOptional,
addCodeBlocksDbListener,
removeCodeBlocksDbListener,
areCodeBlockInfosEqual,
updateCodeBlocksDb,
checkCodeBlocks,
getCodeBlocksDb
}
}
export declare interface CodeBlocksDbListeners {
onCodeBlocksDbAdded: (item: CodeBlockInfo) => void;
onCodeBlocksDbRemoved: (item: CodeBlockInfo) => void;
onCodeBlocksDbUpdated: (oldItem: CodeBlockInfo, newItem: CodeBlockInfo) => void;
}
export declare type CodeBlocksDbListenersOptional = Partial<CodeBlocksDbListeners>;
declare type Company = 'perplexity' | 'openai' | 'anthropic' | 'google' | 'xai' | 'deepseek' | 'meta';
export declare const copyTablerIconClass = "tabler-icon-copy";
export declare const copyToClipboard: (text: string) => Promise<void>;
export declare const cpuSvgPathPrefix = "M5 5m0 1a1 1 0 0 1 1 -1h12a1";
export declare const cpuTablerIconClass = "tabler-icon-cpu";
export declare const debugWrapperFunctions: {
all: {
readonly wrapperHasFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAcademicFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasMathFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasWritingFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasVideoFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasSocialFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasWebSearchIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAnyFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasSourcesIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAttachIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasCollectionIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasRecencyIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasFileIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasUploadButtonWithImagePreview: ($wrapper: JQuery) => boolean;
readonly wrapperIsSticky: ($wrapper: JQuery) => boolean;
readonly wrapperHasIntractableSourcesSwitcherButton: ($promptArea: JQuery) => boolean;
};
test: (wrapper: JQuery) => {
[k: string]: boolean;
};
};
export declare const deepResearchTablerIconClass = "tabler-icon-atom";
export declare const disablePromptArea: () => void;
export declare const doSelectModel: (indexOrName: number | string, parent?: JQuery) => Promise<boolean>;
export declare const doSelectQueryMode: (queryMode: QueryMode, parent?: JQuery) => Promise<boolean>;
export declare const doSetSourcesSelectionListValues: (parent?: JQuery) => (values: (boolean | null)[], options?: SetSourcesSelectionListValuesOptions) => Promise<void>;
export declare const ellipsis: (maxLen: number) => (str: string) => string;
export declare const enablePromptArea: () => void;
export declare const extractFallbackModelInfo: (modelTitle: string) => FallbackModelInfo | null;
export declare interface FallbackModelInfo {
usedModel: string;
originalModelTooltipName: string;
errorType: 'used-fallback-model';
errorString: string;
}
export declare const financeSvgPathPrefix = "M9 5h-2a2 2";
export declare const financeTablerIconClass = "tabler-icon-report-money";
export declare const findModelDescriptorByName: (name: string) => ModelDescriptor | null;
export declare const freeze: <T>(obj: T) => Readonly<T>;
export declare const genMockModelButton: (modelName: string) => JQuery<HTMLElement>;
export declare const getAllAnswerBars: () => JQuery<HTMLElement>;
export declare const getAnswerBarFromElementInAnswer: ($element: JQuery<HTMLElement>) => JQuery<HTMLElement>;
export declare const getAnswerBarType: ($answerBar: JQuery<HTMLElement>) => AnswerBarType | null;
export declare const getAnswerBarTypeFromQueryMode: (queryMode: QueryMode) => AnswerBarType;
export declare const getAnyModeButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getAnyModelButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getAnyPromptArea: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getAnyPromptAreaWrapper: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getAnySourcesButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getAnyUploadOrAttachFilesButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getAttachFilesButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getBottomRightButtonsContainer: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getBreakpointInfo: () => Record<TailwindBreakpoint, boolean>;
export declare const getCodeAndLanguageFromCodeEl: ($codeBlock: JQuery<HTMLElement>) => [string, string];
export declare const getCodeBlockElementFromCodeBlockInfo: (codeBlockInfo: CodeBlockInfo) => JQuery<HTMLElement>;
export declare const getCodeBlockElements: () => JQuery<HTMLElement>;
export declare const getCodeBlockInfo: (codeBlockEl: HTMLElement | JQuery<HTMLElement>) => CodeBlockInfo | null;
export declare const getCodeBlocksDb: () => CodeBlockInfo[];
export declare const getCodeBlockWrapper: (codeBlock: JQuery) => JQuery<HTMLElement>;
export declare const getCodeFromCodeEl: (codeEl: JQuery<HTMLElement>) => string;
export declare const getCopyToClipboardButton: ($codeBlock: JQuery<HTMLElement>) => JQuery<HTMLElement>;
export declare const getCurrentMode: (parent?: JQuery) => QueryMode | null;
export declare const getCurrentThreadId: () => string | null;
export declare const getFamiliarName: (descriptor: ModelDescriptor, includeThinkingSuffix: boolean) => string | null;
export declare const getFirstPromptEl: () => JQuery<HTMLElement>;
export declare const getHomeWidgets: () => JQuery<HTMLElement>;
export declare const getIconButtonContainersInSidebar: () => JQuery<HTMLElement>;
/** @deprecated Use getIconsInSidebar instead */
export declare const getIconsInLeftPanel: () => JQuery<HTMLElement>;
export declare const getIconsInSidebar: () => JQuery<HTMLElement>;
export declare const getImageGenerationOverlay: () => JQuery<HTMLElement>;
export declare const getImagesInRightPanel: () => JQuery<HTMLElement>;
export declare const getLabelsInSidebar: () => JQuery<HTMLElement>;
export declare const getLabIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getLanguageElFromCodeEl: (codeEl: JQuery<HTMLElement>) => JQuery<HTMLElement>;
export declare const getLanguageFromCodeEl: (codeEl: JQuery<HTMLElement>) => string;
export declare const getLanguageFromCodeElRaw: (codeEl: JQuery<HTMLElement>) => string;
export declare const getLanguageFromReactPropsOfCodeWrapper: (codeBlockWrapper: JQuery) => string | null;
/** @deprecated Use getSidebar instead */
export declare const getLeftPanel: () => JQuery<HTMLElement>;
/** @deprecated Use getSidebarHome instead */
export declare const getLeftPanelHome: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getMainCaption: () => JQuery<HTMLElement>;
export declare const getMainCaptionText: () => string;
export declare const getMaxIcon: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModeAutoButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModeLabButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModelButtonInQueryBox: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModelDescriptionFromModelButton: ($modelButton?: JQuery) => ModelDescriptor | null;
export declare const getModelDescriptorFromId: (id: string) => ModelDescriptor | null;
export declare const getModelSelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModelSelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModelSelectionListType: ($modelSelectionList: JQuery) => ModelSelectionListType | null;
export declare const getModelTitleFromModelButton: ($modelButton?: JQuery) => string | null;
export declare const getModeProButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModeReasoningButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getModeResearchButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPerplexityAnimationIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPerplexityIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPopoverList: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPopoverListItems: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getProIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
/**
* Get the current text and caret position of a prompt area.
* Supports textarea, input, contenteditable div (lexical).
*/
export declare const getPromptAreaData: ($promptArea: JQuery) => PromptAreaData;
export declare const getPromptAreaOfNewThread: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPromptAreaOnCollection: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPromptAreaOnThread: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPromptAreaValue: ($promptArea: JQuery) => string | null;
export declare const getPromptAreaWrapperOfNewThread: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPromptAreaWrapperOnCollection: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getPromptAreaWrapperOnThread: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getQueryModeFromAnswerBarType: (answerBarType: AnswerBarType) => QueryMode;
export declare const getReasoningIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getRecencyButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getRecencySelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getRecencySelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getRelatedSection: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getResearchIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSidebar: () => JQuery<HTMLElement>;
export declare const getSidebarHome: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesAcademicButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesCollectionButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesCount: (parent?: JQuery) => number | null;
export declare const getSourcesFinanceButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesFourCirclesButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesSelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesSelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesSelectionListValues: (parent?: JQuery) => (boolean | null)[];
export declare const getSourcesSocialButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSourcesWebButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSpaceContextButton: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getStopButtonOnFloatingPromptBox: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSubmitButtonAny: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSubmitButtonAnyExceptMic: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSubmitButtonMic: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSubmitButtonRight: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSubmitButtonUp: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getSubmitButtonVoice: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getTagsInModelSelectionListItem: ($el: JQuery) => string[];
export declare const getTextOfFirstPrompt: () => string;
export declare const getUpgradeToMaxAds: (parent?: JQuery) => JQuery<HTMLElement>;
export declare const getUploadButtonWithImagePreview: ($wrapper: JQuery) => JQuery<HTMLButtonElement>;
export declare const id: <T>(value: T) => T;
export declare const INPUT_TEXT_POSITION: Record<string, InputTextPosition>;
export declare type InputTextPosition = 'cursor' | 'before' | 'after' | 'replace';
export declare const isBreakpoint: (breakpoint: TailwindBreakpoint) => boolean;
export declare const isButtonHighlighted: ($button: JQuery) => boolean;
export declare const isModelSelectionListItemMax: ($el: JQuery) => boolean;
export declare const isModelSelectionListItemNew: ($el: JQuery) => boolean;
export declare const isModelSelectionListItemWithIssues: ($el: JQuery) => boolean;
export declare const isSearchPage: (url: string) => boolean;
export declare const isThinking: (descriptor: ModelDescriptor) => boolean;
export declare const jq: JQueryStatic;
export declare const layoutSidebarRightExpandTablerIconClass = "tabler-icon-layout-sidebar-right-expand";
export declare const magnifierOpenWithDotInsideSvgPathPrefixes: string[];
export declare const magnifierWithDotInsidePerfectCircleSvgPathPrefixes: string[];
export declare const maxSvgPathPrefix = "M50.0858 22.3525C50.0858 23.9034 51.4144 24.8675 53.5527 24.8675C55.1684 24.8675 56.5468 24.3911";
export declare const microphoneFilledTablerIconClass = "tabler-icon-microphone-filled";
export declare interface ModelDescriptor {
index: number;
ppModelId: string;
modelButtonTooltip?: string;
nameEn: string;
nameEnShort?: string;
ownNameEn?: string;
ownVersionEn?: string;
ownVersionEnShort?: string;
ownNameVersionSeparator?: string;
abbrEn?: string;
familiarNameEn?: string;
descriptionEn: string;
modelType: 'normal' | 'reasoning';
company: Company;
companyColor?: string;
baseModelCompany?: Company;
baseModelCompanyColor?: string;
errorType?: 'used-fallback-model';
errorString?: string;
originalModelId?: string;
originalModelTooltipName?: string;
originalModelDescriptor?: ModelDescriptor;
isThinking?: boolean;
baseFamiliarNameEn?: string;
maxOnly?: boolean;
legacy?: boolean;
}
export declare const modelDescriptors: ReadonlyArray<Readonly<ModelDescriptor>>;
export declare type ModelSelectionListType = 'new' | 'rewrite';
/**
* Restores any previous reference to PP and returns the Perplex+ object
* @returns The Perplex+ object
*/
export declare const noConflict: () => {
/** Restore previous PP reference */
noConflict: /*elided*/ any;
registerShouldBlockEnterHandler: (handler: ($wrapper: JQuery<HTMLElement>) => boolean) => void;
registerBlockedEnterHandler: (handler: ($textarea: JQuery<HTMLElement>, $wrapper: JQuery<HTMLElement>) => Promise<void>) => void;
uninstallGlobalHook: () => void;
modelDescriptors: ReadonlyArray<Readonly<pplxModels.ModelDescriptor>>;
availableForUserToSelectModelDescriptors: ReadonlyArray<Readonly<pplxModels.ModelDescriptor>>;
getFamiliarName: (descriptor: pplxModels.ModelDescriptor, includeThinkingSuffix: boolean) => string | null;
isThinking: (descriptor: pplxModels.ModelDescriptor) => boolean;
id: <T>(value: T) => T;
ellipsis: (maxLen: number) => (str: string) => string;
reverse: <T>(arr: readonly T[]) => T[];
sleep: (ms: number) => Promise<unknown>;
freeze: <T>(obj: T) => Readonly<T>;
getCodeAndLanguageFromCodeEl: ($codeBlock: JQuery<HTMLElement>) => [string, string];
getCodeBlockInfo: (codeBlockEl: HTMLElement | JQuery<HTMLElement>) => codeBlockInfo.CodeBlockInfo | null;
getCodeBlockElementFromCodeBlockInfo: (codeBlockInfo: codeBlockInfo.CodeBlockInfo) => JQuery<HTMLElement>;
addCodeBlocksDbListener: (listener: codeBlocksDb.CodeBlocksDbListenersOptional) => void;
removeCodeBlocksDbListener: (listener: codeBlocksDb.CodeBlocksDbListenersOptional) => void;
areCodeBlockInfosEqual: (a: codeBlockInfo.CodeBlockInfo, b: codeBlockInfo.CodeBlockInfo) => boolean;
updateCodeBlocksDb: (cbId: string, info: codeBlockInfo.CodeBlockInfo | null) => void;
checkCodeBlocks: () => void;
getCodeBlocksDb: () => codeBlockInfo.CodeBlockInfo[];
getPromptAreaData: ($promptArea: JQuery) => promptBoxUtils.PromptAreaData;
getPromptAreaValue: ($promptArea: JQuery) => string | null;
setPromptAreaValue: ($promptArea: JQuery, value: string) => void;
tailwindBreakpoints: readonly ["sm", "md", "lg", "xl", "2xl"];
isBreakpoint: (breakpoint: tailwindHelpers.TailwindBreakpoint) => boolean;
getBreakpointInfo: () => Record<tailwindHelpers.TailwindBreakpoint, boolean>;
debugWrapperFunctions: {
all: {
readonly wrapperHasFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAcademicFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasMathFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasWritingFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasVideoFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasSocialFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasWebSearchIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAnyFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasSourcesIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAttachIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasCollectionIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasRecencyIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasFileIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasUploadButtonWithImagePreview: ($wrapper: JQuery) => boolean;
readonly wrapperIsSticky: ($wrapper: JQuery) => boolean;
readonly wrapperHasIntractableSourcesSwitcherButton: ($promptArea: JQuery) => boolean;
};
test: (wrapper: JQuery) => {
[k: string]: boolean;
};
};
getPromptAreaOfNewThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaWrapperOfNewThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaOnThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaWrapperOnThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaOnCollection: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaWrapperOnCollection: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyPromptArea: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyPromptAreaWrapper: (parent?: JQuery) => JQuery<HTMLElement>;
perplexityAnimationSvgPathPrefix: "M29.6848 25.4603L48.3092 41.1547V64.3955L29.6848 49.0293M29.6848";
perplexitySvgPathPrefix: "M29.6848 25.4603L48.3092 41.4828V65.1065L29.6848 49.0293M29.6848";
proSpiralSvgPathPrefix: "M11.9759 1.99999L11.9879 2.00001C10.5169 2.00565";
proSvgPathPrefix: "M5.01 17.833h11.023a6.34 6.34 0 0 0 2.91-.676 5.484 5.484 0 0 0";
atomSvgPathPrefixes: string[];
magnifierOpenWithDotInsideSvgPathPrefixes: string[];
magnifierWithDotInsidePerfectCircleSvgPathPrefixes: string[];
reasoningSvgPathPrefix: "M12 5.125C11.5168 5.125 11.125 5.51675 11.125";
perplexityLogoSvgPathPrefix: "M15 0.124727C15.4832 0.124727 15.8748 0.516607 15.875";
autoTablerIconClass: "tabler-icon-arrows-shuffle";
deepResearchTablerIconClass: "tabler-icon-atom";
worldTablerIconClass: "tabler-icon-world";
academicTablerIconClass: "tabler-icon-school";
academicSvgPathPrefix: "M22 9l-10 -4l-10 4l10 4l10 -4v6";
socialTablerIconClass: "tabler-icon-affiliate";
socialSvgPathPrefix: "M5.931 6.936l1.275 4.249m5.607";
financeTablerIconClass: "tabler-icon-report-money";
financeSvgPathPrefix: "M9 5h-2a2 2";
cpuTablerIconClass: "tabler-icon-cpu";
cpuSvgPathPrefix: "M5 5m0 1a1 1 0 0 1 1 -1h12a1";
arrowRightTablerIconClass: "tabler-icon-arrow-right";
arrowUpTablerIconClass: "tabler-icon-arrow-up";
microphoneFilledTablerIconClass: "tabler-icon-microphone-filled";
layoutSidebarRightExpandTablerIconClass: "tabler-icon-layout-sidebar-right-expand";
squareTablerIconClass: "tabler-icon-square";
stopTablerIconClass: "tabler-icon-player-stop-filled";
copyTablerIconClass: "tabler-icon-copy";
arrowUpRightTablerIconClass: "tabler-icon-arrow-up-right";
voiceSvgPathPrefix: "M0 12.6663C0 13.4018 0.59792 13.9997 1.33333";
bulbSvgPathPrefix: "M11.92 1.889a7.035 7.035 0 0 1 7.034";
stackStackPlusSvgPathPrefix: "M16.0799 4.39998H17.9999V6.31993H19.9201V8.23993H17.9999V10.16H1";
maxSvgPathPrefix: "M50.0858 22.3525C50.0858 23.9034 51.4144 24.8675 53.5527 24.8675C55.1684 24.8675 56.5468 24.3911";
getModeAutoButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeProButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeReasoningButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeLabButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeResearchButton: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyModeButton: (parent?: JQuery) => JQuery<HTMLElement>;
getAttachFilesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getUploadButtonWithImagePreview: ($wrapper: JQuery) => JQuery<HTMLButtonElement>;
getAnyUploadOrAttachFilesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonRight: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonUp: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonMic: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonVoice: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonAny: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonAnyExceptMic: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonRight: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonUp: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonMic: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonVoice: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonAny: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonAnyExceptMic: (parent?: JQuery) => JQuery<HTMLElement>;
isButtonHighlighted: ($button: JQuery) => boolean;
getPopoverList: (parent?: JQuery) => JQuery<HTMLElement>;
getPopoverListItems: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyModelButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModelButtonInQueryBox: (parent?: JQuery) => JQuery<HTMLElement>;
getModelSelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
getModelSelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
getTagsInModelSelectionListItem: ($el: JQuery) => string[];
isModelSelectionListItemNew: ($el: JQuery) => boolean;
isModelSelectionListItemMax: ($el: JQuery) => boolean;
isModelSelectionListItemWithIssues: ($el: JQuery) => boolean;
getModelSelectionListType: ($modelSelectionList: JQuery) => pplxHelpers.ModelSelectionListType | null;
getSourcesWebButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesAcademicButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesSocialButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesFinanceButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesFourCirclesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesCollectionButton: (parent?: JQuery) => JQuery<HTMLElement>;
getAnySourcesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesCount: (parent?: JQuery) => number | null;
getSourcesSelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesSelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
sourcesSelectionListNames: readonly ["Web", "Academic", "Social", "Finance"];
getSourcesSelectionListValues: (parent?: JQuery) => (boolean | null)[];
setSourcesSelectionListValues: (parent?: JQuery) => (values: (boolean | null)[], options?: pplxHelpers.SetSourcesSelectionListValuesOptions) => void;
setSourcesSelectionListValuesByName: (parent?: JQuery, options?: pplxHelpers.SetSourcesSelectionListValuesOptions) => (name: pplxHelpers.SourcesSelectionListName) => (value: boolean) => void;
doSetSourcesSelectionListValues: (parent?: JQuery) => (values: (boolean | null)[], options?: pplxHelpers.SetSourcesSelectionListValuesOptions) => Promise<void>;
getRecencyButton: (parent?: JQuery) => JQuery<HTMLElement>;
getRecencySelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
getRecencySelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
getSpaceContextButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModelDescriptorFromId: (id: string) => pplxModels.ModelDescriptor | null;
findModelDescriptorByName: (name: string) => pplxModels.ModelDescriptor | null;
extractFallbackModelInfo: (modelTitle: string) => pplxHelpers.FallbackModelInfo | null;
genMockModelButton: (modelName: string) => JQuery<HTMLElement>;
getModelTitleFromModelButton: ($modelButton?: JQuery) => string | null;
getModelDescriptionFromModelButton: ($modelButton?: JQuery) => pplxModels.ModelDescriptor | null;
doSelectModel: (indexOrName: number | string, parent?: JQuery) => Promise<boolean>;
getCurrentMode: (parent?: JQuery) => ("reasoning" | "auto" | "pro" | "research" | "lab") | null;
doSelectQueryMode: (queryMode: "reasoning" | "auto" | "pro" | "research" | "lab", parent?: JQuery) => Promise<boolean>;
getPerplexityIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getPerplexityAnimationIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getProIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getReasoningIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getResearchIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getLabIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getAnswerBarType: ($answerBar: JQuery<HTMLElement>) => ("perplexity" | "reasoning" | "pro" | "research" | "perplexity-animation") | null;
getQueryModeFromAnswerBarType: (answerBarType: "perplexity" | "reasoning" | "pro" | "research" | "perplexity-animation") => "reasoning" | "auto" | "pro" | "research" | "lab";
getAnswerBarTypeFromQueryMode: (queryMode: "reasoning" | "auto" | "pro" | "research" | "lab") => "perplexity" | "reasoning" | "pro" | "research" | "perplexity-animation";
getSidebarHome: (parent?: JQuery) => JQuery<HTMLElement>;
getLeftPanelHome: (parent?: JQuery) => JQuery<HTMLElement>;
getIconButtonContainersInSidebar: () => JQuery<HTMLElement>;
getIconsInSidebar: () => JQuery<HTMLElement>;
getIconsInLeftPanel: () => JQuery<HTMLElement>;
getLabelsInSidebar: () => JQuery<HTMLElement>;
getSidebar: () => JQuery<HTMLElement>;
getLeftPanel: () => JQuery<HTMLElement>;
getHomeWidgets: () => JQuery<HTMLElement>;
getImageGenerationOverlay: () => JQuery<HTMLElement>;
getMainCaption: () => JQuery<HTMLElement>;
getMainCaptionText: () => string;
setMainCaptionHtml: (html: string) => JQuery<HTMLElement>;
getCodeBlockElements: () => JQuery<HTMLElement>;
getCodeBlockWrapper: (codeBlock: JQuery) => JQuery<HTMLElement>;
getLanguageFromReactPropsOfCodeWrapper: (codeBlockWrapper: JQuery) => string | null;
getImagesInRightPanel: () => JQuery<HTMLElement>;
getBottomRightButtonsContainer: (parent?: JQuery) => JQuery<HTMLElement>;
getFirstPromptEl: () => JQuery<HTMLElement>;
getTextOfFirstPrompt: () => string;
getStopButtonOnFloatingPromptBox: (parent?: JQuery) => JQuery<HTMLElement>;
wrapperHasStopButtonOnFloatingPromptBox: (wrapper: JQuery) => boolean;
changeValueOfTextAreaViaEvent: (selector: HTMLTextAreaElement, value: string) => void;
INPUT_TEXT_POSITION: Record<string, pplxHelpers.InputTextPosition>;
calcNewPromptValueFromTextAndPosition: (originalValue: string, toAdd: string, position: pplxHelpers.InputTextPosition, caretPos: number) => {
newValue: string;
newCaretPosition: number;
};
simulateInputTextToPromptArea: (text: string, options?: {
position?: pplxHelpers.InputTextPosition;
focus?: boolean;
}) => boolean;
copyToClipboard: (text: string) => Promise<void>;
getAllAnswerBars: () => JQuery<HTMLElement>;
getAnswerBarFromElementInAnswer: ($element: JQuery<HTMLElement>) => JQuery<HTMLElement>;
getCurrentThreadId: () => string | null;
getRelatedSection: (parent?: JQuery) => JQuery<HTMLElement>;
searchPattern: RegExp;
isSearchPage: (url: string) => boolean;
getCopyToClipboardButton: ($codeBlock: JQuery<HTMLElement>) => JQuery<HTMLElement>;
getCodeFromCodeEl: (codeEl: JQuery<HTMLElement>) => string;
getLanguageFromCodeEl: (codeEl: JQuery<HTMLElement>) => string;
getLanguageElFromCodeEl: (codeEl: JQuery<HTMLElement>) => JQuery<HTMLElement>;
getLanguageFromCodeElRaw: (codeEl: JQuery<HTMLElement>) => string;
getMaxIcon: (parent?: JQuery) => JQuery<HTMLElement>;
getUpgradeToMaxAds: (parent?: JQuery) => JQuery<HTMLElement>;
translatePerplexityLanguageToRealLanguage: (language: string, _code: string) => string;
disablePromptArea: () => void;
enablePromptArea: () => void;
saveStringAsFile: (filename: string, content: string) => void;
/** Current version of the library */
version: string;
/** jQuery wrapper function */
jq: JQueryStatic;
/** Alias for jq */
$: JQueryStatic;
/** jQuery selector for class */
$c: (cls: string, parent?: JQuery) => JQuery<HTMLElement>;
/** jQuery selector for id */
$i: (id: string, parent?: JQuery) => JQuery<HTMLElement>;
};
export declare const perplexityAnimationSvgPathPrefix = "M29.6848 25.4603L48.3092 41.1547V64.3955L29.6848 49.0293M29.6848";
export declare const perplexityLogoSvgPathPrefix = "M15 0.124727C15.4832 0.124727 15.8748 0.516607 15.875";
export declare const perplexitySvgPathPrefix = "M29.6848 25.4603L48.3092 41.4828V65.1065L29.6848 49.0293M29.6848";
/**
* The main Perplex+ API object
* Contains all utility functions for interacting with Perplexity AI
*/
declare const PP: {
/** Restore previous PP reference */
noConflict: () => /*elided*/ any;
registerShouldBlockEnterHandler: (handler: ($wrapper: JQuery<HTMLElement>) => boolean) => void;
registerBlockedEnterHandler: (handler: ($textarea: JQuery<HTMLElement>, $wrapper: JQuery<HTMLElement>) => Promise<void>) => void;
uninstallGlobalHook: () => void;
modelDescriptors: ReadonlyArray<Readonly<pplxModels.ModelDescriptor>>;
availableForUserToSelectModelDescriptors: ReadonlyArray<Readonly<pplxModels.ModelDescriptor>>;
getFamiliarName: (descriptor: pplxModels.ModelDescriptor, includeThinkingSuffix: boolean) => string | null;
isThinking: (descriptor: pplxModels.ModelDescriptor) => boolean;
id: <T>(value: T) => T;
ellipsis: (maxLen: number) => (str: string) => string;
reverse: <T>(arr: readonly T[]) => T[];
sleep: (ms: number) => Promise<unknown>;
freeze: <T>(obj: T) => Readonly<T>;
getCodeAndLanguageFromCodeEl: ($codeBlock: JQuery<HTMLElement>) => [string, string];
getCodeBlockInfo: (codeBlockEl: HTMLElement | JQuery<HTMLElement>) => codeBlockInfo.CodeBlockInfo | null;
getCodeBlockElementFromCodeBlockInfo: (codeBlockInfo: codeBlockInfo.CodeBlockInfo) => JQuery<HTMLElement>;
addCodeBlocksDbListener: (listener: codeBlocksDb.CodeBlocksDbListenersOptional) => void;
removeCodeBlocksDbListener: (listener: codeBlocksDb.CodeBlocksDbListenersOptional) => void;
areCodeBlockInfosEqual: (a: codeBlockInfo.CodeBlockInfo, b: codeBlockInfo.CodeBlockInfo) => boolean;
updateCodeBlocksDb: (cbId: string, info: codeBlockInfo.CodeBlockInfo | null) => void;
checkCodeBlocks: () => void;
getCodeBlocksDb: () => codeBlockInfo.CodeBlockInfo[];
getPromptAreaData: ($promptArea: JQuery) => promptBoxUtils.PromptAreaData;
getPromptAreaValue: ($promptArea: JQuery) => string | null;
setPromptAreaValue: ($promptArea: JQuery, value: string) => void;
tailwindBreakpoints: readonly ["sm", "md", "lg", "xl", "2xl"];
isBreakpoint: (breakpoint: tailwindHelpers.TailwindBreakpoint) => boolean;
getBreakpointInfo: () => Record<tailwindHelpers.TailwindBreakpoint, boolean>;
debugWrapperFunctions: {
all: {
readonly wrapperHasFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAcademicFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasMathFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasWritingFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasVideoFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasSocialFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasWebSearchIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAnyFocusIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasSourcesIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasAttachIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasCollectionIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasRecencyIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasFileIcon: (wrapper: JQuery) => boolean;
readonly wrapperHasUploadButtonWithImagePreview: ($wrapper: JQuery) => boolean;
readonly wrapperIsSticky: ($wrapper: JQuery) => boolean;
readonly wrapperHasIntractableSourcesSwitcherButton: ($promptArea: JQuery) => boolean;
};
test: (wrapper: JQuery) => {
[k: string]: boolean;
};
};
getPromptAreaOfNewThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaWrapperOfNewThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaOnThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaWrapperOnThread: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaOnCollection: (parent?: JQuery) => JQuery<HTMLElement>;
getPromptAreaWrapperOnCollection: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyPromptArea: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyPromptAreaWrapper: (parent?: JQuery) => JQuery<HTMLElement>;
perplexityAnimationSvgPathPrefix: "M29.6848 25.4603L48.3092 41.1547V64.3955L29.6848 49.0293M29.6848";
perplexitySvgPathPrefix: "M29.6848 25.4603L48.3092 41.4828V65.1065L29.6848 49.0293M29.6848";
proSpiralSvgPathPrefix: "M11.9759 1.99999L11.9879 2.00001C10.5169 2.00565";
proSvgPathPrefix: "M5.01 17.833h11.023a6.34 6.34 0 0 0 2.91-.676 5.484 5.484 0 0 0";
atomSvgPathPrefixes: string[];
magnifierOpenWithDotInsideSvgPathPrefixes: string[];
magnifierWithDotInsidePerfectCircleSvgPathPrefixes: string[];
reasoningSvgPathPrefix: "M12 5.125C11.5168 5.125 11.125 5.51675 11.125";
perplexityLogoSvgPathPrefix: "M15 0.124727C15.4832 0.124727 15.8748 0.516607 15.875";
autoTablerIconClass: "tabler-icon-arrows-shuffle";
deepResearchTablerIconClass: "tabler-icon-atom";
worldTablerIconClass: "tabler-icon-world";
academicTablerIconClass: "tabler-icon-school";
academicSvgPathPrefix: "M22 9l-10 -4l-10 4l10 4l10 -4v6";
socialTablerIconClass: "tabler-icon-affiliate";
socialSvgPathPrefix: "M5.931 6.936l1.275 4.249m5.607";
financeTablerIconClass: "tabler-icon-report-money";
financeSvgPathPrefix: "M9 5h-2a2 2";
cpuTablerIconClass: "tabler-icon-cpu";
cpuSvgPathPrefix: "M5 5m0 1a1 1 0 0 1 1 -1h12a1";
arrowRightTablerIconClass: "tabler-icon-arrow-right";
arrowUpTablerIconClass: "tabler-icon-arrow-up";
microphoneFilledTablerIconClass: "tabler-icon-microphone-filled";
layoutSidebarRightExpandTablerIconClass: "tabler-icon-layout-sidebar-right-expand";
squareTablerIconClass: "tabler-icon-square";
stopTablerIconClass: "tabler-icon-player-stop-filled";
copyTablerIconClass: "tabler-icon-copy";
arrowUpRightTablerIconClass: "tabler-icon-arrow-up-right";
voiceSvgPathPrefix: "M0 12.6663C0 13.4018 0.59792 13.9997 1.33333";
bulbSvgPathPrefix: "M11.92 1.889a7.035 7.035 0 0 1 7.034";
stackStackPlusSvgPathPrefix: "M16.0799 4.39998H17.9999V6.31993H19.9201V8.23993H17.9999V10.16H1";
maxSvgPathPrefix: "M50.0858 22.3525C50.0858 23.9034 51.4144 24.8675 53.5527 24.8675C55.1684 24.8675 56.5468 24.3911";
getModeAutoButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeProButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeReasoningButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeLabButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModeResearchButton: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyModeButton: (parent?: JQuery) => JQuery<HTMLElement>;
getAttachFilesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getUploadButtonWithImagePreview: ($wrapper: JQuery) => JQuery<HTMLButtonElement>;
getAnyUploadOrAttachFilesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonRight: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonUp: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonMic: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonVoice: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonAny: (parent?: JQuery) => JQuery<HTMLElement>;
getSubmitButtonAnyExceptMic: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonRight: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonUp: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonMic: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonVoice: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonAny: (parent?: JQuery) => JQuery<HTMLElement>;
submitButtonAnyExceptMic: (parent?: JQuery) => JQuery<HTMLElement>;
isButtonHighlighted: ($button: JQuery) => boolean;
getPopoverList: (parent?: JQuery) => JQuery<HTMLElement>;
getPopoverListItems: (parent?: JQuery) => JQuery<HTMLElement>;
getAnyModelButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModelButtonInQueryBox: (parent?: JQuery) => JQuery<HTMLElement>;
getModelSelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
getModelSelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
getTagsInModelSelectionListItem: ($el: JQuery) => string[];
isModelSelectionListItemNew: ($el: JQuery) => boolean;
isModelSelectionListItemMax: ($el: JQuery) => boolean;
isModelSelectionListItemWithIssues: ($el: JQuery) => boolean;
getModelSelectionListType: ($modelSelectionList: JQuery) => pplxHelpers.ModelSelectionListType | null;
getSourcesWebButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesAcademicButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesSocialButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesFinanceButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesFourCirclesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesCollectionButton: (parent?: JQuery) => JQuery<HTMLElement>;
getAnySourcesButton: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesCount: (parent?: JQuery) => number | null;
getSourcesSelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
getSourcesSelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
sourcesSelectionListNames: readonly ["Web", "Academic", "Social", "Finance"];
getSourcesSelectionListValues: (parent?: JQuery) => (boolean | null)[];
setSourcesSelectionListValues: (parent?: JQuery) => (values: (boolean | null)[], options?: pplxHelpers.SetSourcesSelectionListValuesOptions) => void;
setSourcesSelectionListValuesByName: (parent?: JQuery, options?: pplxHelpers.SetSourcesSelectionListValuesOptions) => (name: pplxHelpers.SourcesSelectionListName) => (value: boolean) => void;
doSetSourcesSelectionListValues: (parent?: JQuery) => (values: (boolean | null)[], options?: pplxHelpers.SetSourcesSelectionListValuesOptions) => Promise<void>;
getRecencyButton: (parent?: JQuery) => JQuery<HTMLElement>;
getRecencySelectionList: (parent?: JQuery) => JQuery<HTMLElement>;
getRecencySelectionListItems: (parent?: JQuery) => JQuery<HTMLElement>;
getSpaceContextButton: (parent?: JQuery) => JQuery<HTMLElement>;
getModelDescriptorFromId: (id: string) => pplxModels.ModelDescriptor | null;
findModelDescriptorByName: (name: string) => pplxModels.ModelDescriptor | null;
extractFallbackModelInfo: (modelTitle: string) => pplxHelpers.FallbackModelInfo | null;
genMockModelButton: (modelName: string) => JQuery<HTMLElement>;
getModelTitleFromModelButton: ($modelButton?: JQuery) => string | null;
getModelDescriptionFromModelButton: ($modelButton?: JQuery) => pplxModels.ModelDescriptor | null;
doSelectModel: (indexOrName: number | string, parent?: JQuery) => Promise<boolean>;
getCurrentMode: (parent?: JQuery) => ("reasoning" | "auto" | "pro" | "research" | "lab") | null;
doSelectQueryMode: (queryMode: "reasoning" | "auto" | "pro" | "research" | "lab", parent?: JQuery) => Promise<boolean>;
getPerplexityIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getPerplexityAnimationIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getProIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getReasoningIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getResearchIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getLabIconFromAnswerBar: (parent?: JQuery) => JQuery<HTMLElement>;
getAnswerBarType: ($answerBar: JQuery<HTMLElement>) => ("perplexity" | "reasoning" | "pro" | "research" | "perplexity-animation") | null;
getQueryModeFromAnswerBarType: (answerBarType: "perplexity" | "reasoning" | "pro" | "research" | "perplexity-animation") => "reasoning" | "auto" | "pro" | "research" | "lab";
getAnswerBarTypeFromQueryMode: (queryMode: "reasoning" | "auto" | "pro" | "research" | "lab") => "perplexity" | "reasoning" | "pro" | "research" | "perplexity-animation";
getSidebarHome: (parent?: JQuery) => JQuery<HTMLElement>;
getLeftPanelHome: (parent?: JQuery) => JQuery<HTMLElement>;
getIconButtonContainersInSidebar: () => JQuery<HTMLElement>;
getIconsInSidebar: () => JQuery<HTMLElement>;
getIconsInLeftPanel: () => JQuery<HTMLElement>;
getLabelsInSidebar: () => JQuery<HTMLElement>;
getSidebar: () => JQuery<HTMLElement>;
getLeftPanel: () => JQuery<HTMLElement>;
getHomeWidgets: () => JQuery<HTMLElement>;
getImageGenerationOverlay: () => JQuery<HTMLElement>;
getMainCaption: () => JQuery<HTMLElement>;
getMainCaptionText: () => string;
setMainCaptionHtml: (html: string) => JQuery<HTMLElement>;
getCodeBlockElements: () => JQuery<HTMLElement>;
getCodeBlockWrapper: (codeBlock: JQuery) => JQuery<HTMLElement>;
getLanguageFromReactPropsOfCodeWrapper: (codeBlockWrapper: JQuery) => string | null;
getImagesInRightPanel: () => JQuery<HTMLElement>;
getBottomRightButtonsContainer: (parent?: JQuery) => JQuery<HTMLElement>;
getFirstPromptEl: () => JQuery<HTMLElement>;
getTextOfFirstPrompt: () => string;
getStopButtonOnFloatingPromptBox: (parent?: JQuery) => JQuery<HTMLElement>;
wrapperHasStopButtonOnFloatingPromptBox: (wrapper: JQuery) => boolean;
changeValueOfTextAreaViaEvent: (selector: HTMLTextAreaElement, value: string) => void;
INPUT_TEXT_POSITION: Record<string, pplxHelpers.InputTextPosition>;
calcNewPromptValueFromTextAndPosition: (originalValue: string, toAdd: string, position: pplxHelpers.InputTextPosition, caretPos: number) => {
newValue: string;
newCaretPosition: number;
};
simulateInputTextToPromptArea: (text: string, options?: {
position?: pplxHelpers.InputTextPosition;
focus?: boolean;
}) => boolean;
copyToClipboard: (text: string) => Promise<void>;
getAllAnswerBars: () => JQuery<HTMLElement>;
getAnswerBarFromElementInAnswer: ($element: JQuery<HTMLElement>) => JQuery<HTMLElement>;
getCurrentThreadId: () => string | null;
getRelatedSection: (parent?: JQuery) => JQuery<HTMLElement>;
searchPattern: RegExp;
isSearchPage: (url: string) => boolean;
getCopyToClipboardButton: ($codeBlock: JQuery<HTMLElement>) => JQuery<HTMLElement>;
getCodeFromCodeEl: (codeEl: JQuery<HTMLElement>) => string;
getLanguageFromCodeEl: (codeEl: JQuery<HTMLElement>) => string;
getLanguageElFromCodeEl: (codeEl: JQuery<HTMLElement>) => JQuery<HTMLElement>;
getLanguageFromCodeElRaw: (codeEl: JQuery<HTMLElement>) => string;
getMaxIcon: (parent?: JQuery) => JQuery<HTMLElement>;
getUpgradeToMaxAds: (parent?: JQuery) => JQuery<HTMLElement>;
translatePerplexityLanguageToRealLanguage: (language: string, _code: string) => string;
disablePromptArea: () => void;
enablePromptArea: () => void;
saveStringAsFile: (filename: string, content: string) => void;
/** Current version of the library */
version: string;
/** jQuery wrapper function */
jq: JQueryStatic;
/** Alias for jq */
$: JQueryStatic;
/** jQuery selector for class */
$c: (cls: string, parent?: JQuery) => JQuery<HTMLElement>;
/** jQuery selector for id */
$i: (id: string, parent?: JQuery) => JQuery<HTMLElement>;
};
export { PP }
export default PP;
declare namespace pplxHelpers {
export {
debugWrapperFunctions,
getPromptAreaOfNewThread,
getPromptAreaWrapperOfNewThread,
getPromptAreaOnThread,
getPromptAreaWrapperOnThread,
getPromptAreaOnCollection,
getPromptAreaWrapperOnCollection,
getAnyPromptArea,
getAnyPromptAreaWrapper,
perplexityAnimationSvgPathPrefix,
perplexitySvgPathPrefix,
proSpiralSvgPathPrefix,
proSvgPathPrefix,
atomSvgPathPrefixes,
magnifierOpenWithDotInsideSvgPathPrefixes,
magnifierWithDotInsidePerfectCircleSvgPathPrefixes,
reasoningSvgPathPrefix,
perplexityLogoSvgPathPrefix,
autoTablerIconClass,
deepResearchTablerIconClass,
worldTablerIconClass,
academicTablerIconClass,
academicSvgPathPrefix,
socialTablerIconClass,
socialSvgPathPrefix,
financeTablerIconClass,
financeSvgPathPrefix,
cpuTablerIconClass,
cpuSvgPathPrefix,
arrowRightTablerIconClass,
arrowUpTablerIconClass,
microphoneFilledTablerIconClass,
layoutSidebarRightExpandTablerIconClass,
squareTablerIconClass,
stopTablerIconClass,
copyTablerIconClass,
arrowUpRightTablerIconClass,
voiceSvgPathPrefix,
bulbSvgPathPrefix,
stackStackPl