declare const selectors: { profilePage: { userPicture: string[]; userName: string[]; userOccupation: string[]; lemlistProfileCardLeadName: string[]; linkedinProfileCard: string[]; lemlistProfileCard: string[]; alreadyInLemlistTag: string[]; notInLemlistTag: string[]; findEmailTag: string[]; findPhoneTag: string[]; lemlistEmailFound: string[]; privateProfileInfoSection: string[]; howToContainer: string[]; companyName: string[]; companyLogo: string[]; howToTippyContainer: string[]; lemlistListContainer: string[]; campaignsListContainer: string[]; contactListContainer: string[]; addButtonText: string[]; location: string[]; campaignsListContainerDisplay: string[]; contactListContainerDisplay: string[]; notInLemlistButton: string[]; alreadyInLemlistButton: string[]; mainExperienceContainer: string[]; experienceCompanyLogo: string[]; experienceCompanyName: string[]; experienceOccupation: string[]; experienceMultipleCompany: string[]; experienceMultipleOccupation: string[]; memberId: string[]; lemlistHowToOverlay: string[]; }; salesNavListsPeoplePage: { fullName: string[]; userOccupation: string[]; companyName: string[]; userPicture: string[]; linkedinUrl: string[]; lemlistAlreadyInCampaign: string[]; lastCell: string[]; lastHeader: string[]; linkedinCheckbox: string[]; linkedinCheckbox2: string[]; linkedinCheckbox3: string[]; linkedinCheckbox3Checked: string[]; linkedinCheckboxSelectAll: string[]; bulkToolbar: string[]; mainContainer: string[]; lemlistTableHeader: string[]; profileSideContainer: string[]; checkboxContainer: string[]; paginationControls: string[]; }; salesNavProfilePage: { profileCardSection: string[]; userName: string[]; userPicture: string[]; userOccupation: string[]; profileUrl: string[]; linkedinProfileCard: string[]; lemlistProfileCard: string[]; findEmailTag: string[]; findPhoneTag: string[]; lemlistEmailFound: string[]; alreadyInLemlistTag: string[]; notInLemlistTag: string[]; lemlistListContainer: string[]; campaignsListContainer: string[]; contactListContainer: string[]; addButtonText: string[]; campaignsListContainerDisplay: string[]; contactListContainerDisplay: string[]; notInLemlistButton: string[]; alreadyInLemlistButton: string[]; location: string[]; companyName: string[]; companyLogo: string[]; moreInfoButton: string[]; linkedinProfileLinkButton: string[]; mainExperienceContainer: string[]; experienceCompanyLogo: string[]; experienceCompanyName: string[]; experienceOccupation: string[]; experienceMultipleOccupation: string[]; experienceMultipleCompany: string[]; }; salesNavSearchPeoplePage: { linkedinUrl: string[]; fullName: string[]; userOccupation: string[]; companyName: string[]; userPicture: string[]; actionsDiv: string[]; linkedinCheckbox: string[]; linkedinCheckboxChecked: string[]; linkedinCheckbox2: string[]; linkedinCheckboxSelectAll: string[]; lemlistAlreadyInCampaignTagContainer: string[]; lemlistHeaderContainer: string[]; entityLockup: string[]; listItem: string[]; checkbox: string[]; listItemArticle: string[]; dataScrollIntoView: string[]; leadSearchResults: string[]; completeCheckboxes: string[]; incompleteCheckboxes: string[]; profileSideContainer: string[]; linkedinSearchPageContainer: string[]; howToContainer: string[]; howToScrollToElement: string[]; selectAllCheckbox: string[]; selectAllCheckboxLabel: string[]; selectCheckboxChecked: string[]; paginationControls: string[]; }; searchPeoplePage: { searchEntityResult: string[]; linkedinUrl: string[]; image: string[]; userOccupation: string[]; fullName: string[]; resultList: string[]; actionsDiv: string[]; validResult: string[]; searchResult: string[]; searchResultsContainer: string[]; searchResultsContainerParent: string[]; searchResultsContainerRemovedParent: string[]; mainLayoutLeft: string[]; howToContainer: string[]; howToScrollToElement: string[]; selectAllCheckbox: string[]; selectAllCheckboxLabel: string[]; selectCheckboxChecked: string[]; paginationControls: string[]; peopleButton: string[]; }; searchAllPage: { peopleButton: string[]; toolbar: string[]; }; linkedinComposerPage: { composerWrapper: string[]; textareaSelector: string[]; footer: string[]; messagingOverlay: string[]; form: string[]; formContainer: string[]; composerEvent: string[]; composerEventBody: string[]; composerEventName: string[]; composerEventDate: string[]; interOPOutlet: string[]; }; hubspot: { tableExternalId: string[]; avatarDisplay: string[]; flexContainer: string[]; frameworkDataTable: string[]; companyAssocCard: string[]; avatarContainerClass: string[]; privateButtonClasses: string[]; leadRowCell: string[]; leadPrimaryContactLink: string[]; leadPrimaryContactHeader: string[]; }; gmail: { userEmailElm: string[]; userEmailElmFallback: string[]; }; gmailComposerPage: { gmailComposerForm: string[]; gmailComposer: string[]; previousMessagesButton: string[]; previousMessages: string[]; lemlistActionBar: string[]; lemlistActionBarAskAIElements: string[]; lemlistActionBarTemplatesButton: string[]; previousEmail: string[]; body: string[]; }; gmailSidebarPage: { appIconsContainer: string[]; appIconsActiveIcon: string[]; appIcons: string[]; }; gmailEmailPage: { topBarDate: string[]; body: string[]; }; }; type TPage = keyof typeof selectors; type TKey = keyof (typeof selectors)[T]; type PageKeyParams = { page: T; key: TKey; selector?: never; }; type SelectorParams = { page?: never; key?: never; selector: string; }; type BaseParams = { container?: Document | HTMLElement; mode?: "all" | "closest"; }; type GetElementParams = BaseParams & (PageKeyParams | SelectorParams); type GetElementReturnType = M extends "all" ? HTMLElement[] | null : HTMLElement | null; export declare function getElement({ page, key, selector, container, mode, }: GetElementParams & { mode?: M; }): GetElementReturnType; export declare function getContactInfo(): { name?: undefined; profileUrl?: undefined; picture?: undefined; occupation?: undefined; companyName?: undefined; companyPicture?: undefined; location?: undefined; } | { name: string; profileUrl: string | undefined; picture: string; occupation: string; companyName: string | undefined; companyPicture: string; location: string | undefined; }; /** * 把选择器调试函数挂到 window 上,方便在 LinkedIn 页面控制台里直接调用。 * * 改为显式调用而非模块顶层副作用,原因有二: * - 本库也会被打进 Service Worker / Node 测试,那里没有 window, * 顶层直接访问会在脚本求值阶段抛 ReferenceError * (扩展表现为 "Service worker registration failed. Status code: 15") * - 库不该无条件污染消费方的全局作用域,撞名很难排查 * * @example * ```ts * // 只在需要调试的 content script 里调一次 * exposeLinkedinDebugHelpers(); * // 然后在页面控制台: * // getElement({ page: "profilePage", key: "fullName" }) * ``` */ export declare function exposeLinkedinDebugHelpers(): void; export {};