import { ToolBubble } from '../../../../types/tool-bubble-class.js';
import type { BubbleContext } from '../../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { z } from 'zod';
import { type LinkedInSentInvitationsToolParamsInput, type LinkedInSentInvitationsToolResult } from './schema.js';
export declare class LinkedInSentInvitationsTool<T extends LinkedInSentInvitationsToolParamsInput = LinkedInSentInvitationsToolParamsInput> extends ToolBubble<T, LinkedInSentInvitationsToolResult> {
    static readonly bubbleName: "linkedin-sent-invitations-tool";
    static readonly schema: z.ZodObject<{
        operation: z.ZodEnum<["get_sent_invitations"]>;
        credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
        proxy: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodEnum<["none"]>;
        }, "strip", z.ZodTypeAny, {
            type: "none";
        }, {
            type: "none";
        }>, z.ZodObject<{
            type: z.ZodEnum<["browserbase"]>;
        }, "strip", z.ZodTypeAny, {
            type: "browserbase";
        }, {
            type: "browserbase";
        }>, z.ZodObject<{
            type: z.ZodEnum<["custom"]>;
            proxy: z.ZodObject<{
                id: z.ZodString;
                server: z.ZodString;
                username: z.ZodOptional<z.ZodString>;
                password: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            }, {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "custom";
            proxy: {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            };
        }, {
            type: "custom";
            proxy: {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            };
        }>]>>;
    }, "strip", z.ZodTypeAny, {
        operation: "get_sent_invitations";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        proxy?: {
            type: "none";
        } | {
            type: "browserbase";
        } | {
            type: "custom";
            proxy: {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            };
        } | undefined;
    }, {
        operation: "get_sent_invitations";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        proxy?: {
            type: "none";
        } | {
            type: "browserbase";
        } | {
            type: "custom";
            proxy: {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            };
        } | undefined;
    }>;
    static readonly resultSchema: z.ZodObject<{
        operation: z.ZodEnum<["get_sent_invitations"]>;
        success: z.ZodBoolean;
        invitations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            headline: z.ZodOptional<z.ZodString>;
            sent_date: z.ZodString;
            profile_url: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            sent_date: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
        }, {
            name: string;
            sent_date: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
        }>, "many">>;
        total_count: z.ZodOptional<z.ZodNumber>;
        message: z.ZodOptional<z.ZodString>;
        error: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        success: boolean;
        error: string;
        operation: "get_sent_invitations";
        message?: string | undefined;
        total_count?: number | undefined;
        invitations?: {
            name: string;
            sent_date: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
        }[] | undefined;
    }, {
        success: boolean;
        error: string;
        operation: "get_sent_invitations";
        message?: string | undefined;
        total_count?: number | undefined;
        invitations?: {
            name: string;
            sent_date: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
        }[] | undefined;
    }>;
    static readonly shortDescription = "Extract sent LinkedIn connection invitations";
    static readonly longDescription = "Recordable LinkedIn Sent Invitations Tool for extracting pending sent connection requests.";
    static readonly alias = "linkedin-sent-invitations";
    static readonly type = "tool";
    private sessionId;
    private contextId;
    private cookies;
    constructor(params?: T, context?: BubbleContext);
    protected chooseCredential(): string | undefined;
    private stepStartBrowserSession;
    private stepNavigateToSentInvitations;
    private stepWaitForInvitationsPage;
    private stepExtractInvitations;
    private stepEndBrowserSession;
    private evaluate;
    private detectIPAddress;
    performAction(): Promise<LinkedInSentInvitationsToolResult>;
}
//# sourceMappingURL=tool.d.ts.map