/** * Sellable Product API tools — LinkedIn, company, campaigns, rows. * * These proxy the same Sellable API endpoints that the dittto-fresh MCP uses, * but bundled here so sellable-admin is fully self-contained. * Auth: reads sellable.token + sellable.apiUrl from settings.json. */ export declare const sellableToolDefinitions: ({ name: string; description: string; inputSchema: { type: "object"; properties: { linkedinUrl: { type: string; description: string; }; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; workspaceId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { linkedinUrl: { type: string; description: string; }; limit: { type: string; description: string; }; companyUrl?: undefined; campaignId?: undefined; workspaceId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { companyUrl: { type: string; description: string; }; linkedinUrl?: undefined; limit?: undefined; campaignId?: undefined; workspaceId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { companyUrl: { type: string; description: string; }; limit: { type: string; description: string; }; linkedinUrl?: undefined; campaignId?: undefined; workspaceId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { campaignId: { type: string; description: string; }; workspaceId: { type: string; description: string; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { workspaceId: { type: string; description: string; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { tableId: { type: string; description: string; }; workspaceId: { type: string; description: string; }; limit: { type: string; description: string; }; page: { type: string; description: string; }; linkedinUrl?: undefined; companyUrl?: undefined; campaignId?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { tableId: { type: string; description: string; }; workspaceId: { type: string; description: string; }; rowIds: { type: string; items: { type: string; }; description: string; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; page?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { required: string[]; anyOf: { required: string[]; }[]; type: "object"; properties: { lookup: { type: string; enum: string[]; description: string; }; onlyVerifiedEmail: { type: string; description: string; }; enrichMobile: { type: string; description: string; }; onlyVerifiedMobile: { type: string; description: string; }; workspaceId: { type: string; description: string; }; enrichedProspectId: { type: string; description: string; }; forceRefresh: { type: string; description: string; }; idempotencyKey: { type: string; description: string; }; data: { type: "object"; description: string; properties: { personId: { type: string; description: string; }; linkedinUrl: { type: string; description: string; }; firstName: { type: string; }; lastName: { type: string; }; fullName: { type: string; }; email: { type: string; }; companyName: { type: string; }; companyWebsite: { type: string; description: string; }; companyLinkedinUrl: { type: string; description: string; }; }; additionalProperties: boolean; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; }; } | { name: string; description: string; inputSchema: { required: string[]; anyOf: { required: string[]; }[]; type: "object"; properties: { onlyVerifiedEmail: { type: string; description: string; }; workspaceId: { type: string; description: string; }; enrichedProspectId: { type: string; description: string; }; forceRefresh: { type: string; description: string; }; idempotencyKey: { type: string; description: string; }; data: { type: "object"; description: string; properties: { personId: { type: string; description: string; }; linkedinUrl: { type: string; description: string; }; firstName: { type: string; }; lastName: { type: string; }; fullName: { type: string; }; email: { type: string; }; companyName: { type: string; }; companyWebsite: { type: string; description: string; }; companyLinkedinUrl: { type: string; description: string; }; }; additionalProperties: boolean; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; }; } | { name: string; description: string; inputSchema: { required: string[]; anyOf: { required: string[]; }[]; type: "object"; properties: { enrichMobile: { type: string; description: string; }; onlyVerifiedMobile: { type: string; description: string; }; workspaceId: { type: string; description: string; }; enrichedProspectId: { type: string; description: string; }; forceRefresh: { type: string; description: string; }; idempotencyKey: { type: string; description: string; }; data: { type: "object"; description: string; properties: { personId: { type: string; description: string; }; linkedinUrl: { type: string; description: string; }; firstName: { type: string; }; lastName: { type: string; }; fullName: { type: string; }; email: { type: string; }; companyName: { type: string; }; companyWebsite: { type: string; description: string; }; companyLinkedinUrl: { type: string; description: string; }; }; additionalProperties: boolean; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; senderId?: undefined; posts?: undefined; skipDuplicates?: undefined; }; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { senderId: { type: string; description: string; }; workspaceId: { type: string; description: string; }; posts: { type: string; description: string; items: { type: string; properties: { postUrl: { type: string; }; comment: { type: string; }; reactionType: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; skipDuplicates: { type: string; description: string; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { senderId: { type: string; description: string; }; workspaceId: { type: string; description: string; }; linkedinUrl?: undefined; limit?: undefined; companyUrl?: undefined; campaignId?: undefined; tableId?: undefined; page?: undefined; rowIds?: undefined; posts?: undefined; skipDuplicates?: undefined; }; required: string[]; }; })[]; interface AdminFindProspectContactData { personId?: string; linkedinUrl?: string; firstName?: string; lastName?: string; fullName?: string; email?: string; companyName?: string; companyWebsite?: string; companyLinkedinUrl?: string; } interface AdminFindProspectContactArgs { workspaceId: string; lookup?: "email" | "phone" | "both"; enrichedProspectId?: string; forceRefresh?: boolean; onlyVerifiedEmail?: boolean; enrichMobile?: boolean; onlyVerifiedMobile?: boolean; idempotencyKey?: string; data?: AdminFindProspectContactData; } export declare function adminFetchLinkedInProfile(linkedinUrl: string): Promise; export declare function adminFetchLinkedInPosts(linkedinUrl: string, limit?: number): Promise<{ posts: any; count: any; }>; export declare function adminFetchCompany(companyUrl: string): Promise; export declare function adminFetchCompanyPosts(companyUrl: string, limit?: number): Promise<{ posts: any; count: any; }>; export declare function adminGetCampaign(campaignId: string, workspaceId: string): Promise; export declare function adminGetCampaigns(workspaceId: string): Promise<({ id: any; name: any; createdAt: any; stats: any; watchUrl: any; } | { id: any; name: any; createdAt: any; stats: null; watchUrl?: undefined; })[]>; export declare function adminGetTableRows(tableId: string, workspaceId: string, limit?: number, page?: number): Promise; export declare function adminGetRows(tableId: string, workspaceId: string, rowIds?: string[]): Promise; export declare function adminGetRowsMinimal(tableId: string, workspaceId: string, limit?: number, page?: number): Promise; export declare function adminFindProspectContact(args: AdminFindProspectContactArgs): Promise; export declare function adminFindContactEmail(args: Omit): Promise; export declare function adminFindContactPhoneNumber(args: Omit): Promise; export declare function adminSalesInboxThreads(workspaceId: string, limit?: number): Promise<{ workspaceId: string; workspaceName: string; source: string; interested: { count: number; threads: { id: string; leadName: string; leadProfileUrl: string | null; senderName: string | null; senderProviderId: string | null; classification: string | null; draftClassification: string | null; messageClassification: string | null; chatType: string | null; unipileChatId: string | null; draft: { id: string; draftId: string | null; body: string | null; subject: string | null; status: string | null; versionNumber: number | null; createdAt: string | null; } | null; drafts: { id: string; draftId: string | null; body: string | null; subject: string | null; status: string | null; versionNumber: number | null; createdAt: string | null; }[]; messages: { id: string; message: string | null; body: string | null; subject: string | null; direction: string | null; isInbound: boolean; timestamp: string | null; date: string | null; senderProviderId: string | null; }[]; enrichment: { name: string | undefined; title: string | undefined; company: string | undefined; companyWebsiteUrl: string | undefined; location: string | undefined; email: string | undefined; photoUrl: string | undefined; linkedinUrl: string | undefined; } | null; campaign: { id: string; name: string; } | null; sender: { id: string; name: string | null; }; latestMessageTimestamp: string | null; updatedAt: string | null; hasUnprocessedInbound: boolean; lastInboundMessageAt: string | null; lastOutboundMessageAt: string | null; followUpsSuppressed: boolean | null; inmailAcceptedAt: string | null; inmailDeclinedAt: string | null; source: string; }[]; }; moreInformation: { count: number; threads: { id: string; leadName: string; leadProfileUrl: string | null; senderName: string | null; senderProviderId: string | null; classification: string | null; draftClassification: string | null; messageClassification: string | null; chatType: string | null; unipileChatId: string | null; draft: { id: string; draftId: string | null; body: string | null; subject: string | null; status: string | null; versionNumber: number | null; createdAt: string | null; } | null; drafts: { id: string; draftId: string | null; body: string | null; subject: string | null; status: string | null; versionNumber: number | null; createdAt: string | null; }[]; messages: { id: string; message: string | null; body: string | null; subject: string | null; direction: string | null; isInbound: boolean; timestamp: string | null; date: string | null; senderProviderId: string | null; }[]; enrichment: { name: string | undefined; title: string | undefined; company: string | undefined; companyWebsiteUrl: string | undefined; location: string | undefined; email: string | undefined; photoUrl: string | undefined; linkedinUrl: string | undefined; } | null; campaign: { id: string; name: string; } | null; sender: { id: string; name: string | null; }; latestMessageTimestamp: string | null; updatedAt: string | null; hasUnprocessedInbound: boolean; lastInboundMessageAt: string | null; lastOutboundMessageAt: string | null; followUpsSuppressed: boolean | null; inmailAcceptedAt: string | null; inmailDeclinedAt: string | null; source: string; }[]; }; }>; export declare function adminSalesInboxThreadById(workspaceId: string, threadId: string): Promise<{ ok: boolean; code: string; workspaceId?: undefined; threadId?: undefined; revision?: undefined; fingerprint?: undefined; associationEvidence?: undefined; facts?: undefined; } | { ok: boolean; workspaceId: string; threadId: string; revision: string; fingerprint: string; associationEvidence: string; facts: { contact: { name: string | null; linkedinUrl: string | null; }; statedNeed: string | null; decision: string | null; openQuestion: string | null; citation: { sourceId: string; messageId: string; timestamp: string | null; } | null; }; code?: undefined; }>; export declare function adminSetActiveWorkspace(workspaceId: string): Promise<{ success: boolean; activeWorkspaceId: string; }>; export declare function adminListSenders(workspaceId: string): Promise<{ senders: any; }>; export declare function adminAddToCommentCampaign(senderId: string, workspaceId: string, posts: Array<{ postUrl: string; comment: string; reactionType?: string; }>, skipDuplicates?: boolean): Promise; export declare function adminGetEngagedPosts(senderId: string, workspaceId: string): Promise; export {};