import { ToolBubble } from '../../../../types/tool-bubble-class.js';
import type { BubbleContext } from '../../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { type LinkedInAcceptInvitationsToolParamsInput, type LinkedInAcceptInvitationsToolResult } from './schema.js';
export declare class LinkedInAcceptInvitationsTool<T extends LinkedInAcceptInvitationsToolParamsInput = LinkedInAcceptInvitationsToolParamsInput> extends ToolBubble<T, LinkedInAcceptInvitationsToolResult> {
    static readonly bubbleName: "linkedin-accept-invitations-tool";
    static readonly schema: import("zod").ZodObject<{
        operation: import("zod").ZodEnum<["accept_invitations"]>;
        count: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
        proxy: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodObject<{
            type: import("zod").ZodEnum<["none"]>;
        }, "strip", import("zod").ZodTypeAny, {
            type: "none";
        }, {
            type: "none";
        }>, import("zod").ZodObject<{
            type: import("zod").ZodEnum<["browserbase"]>;
        }, "strip", import("zod").ZodTypeAny, {
            type: "browserbase";
        }, {
            type: "browserbase";
        }>, import("zod").ZodObject<{
            type: import("zod").ZodEnum<["custom"]>;
            proxy: import("zod").ZodObject<{
                id: import("zod").ZodString;
                server: import("zod").ZodString;
                username: import("zod").ZodOptional<import("zod").ZodString>;
                password: import("zod").ZodOptional<import("zod").ZodString>;
            }, "strip", import("zod").ZodTypeAny, {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            }, {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            }>;
        }, "strip", import("zod").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", import("zod").ZodTypeAny, {
        operation: "accept_invitations";
        count: number;
        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: "accept_invitations";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        count?: number | undefined;
        proxy?: {
            type: "none";
        } | {
            type: "browserbase";
        } | {
            type: "custom";
            proxy: {
                id: string;
                server: string;
                password?: string | undefined;
                username?: string | undefined;
            };
        } | undefined;
    }>;
    static readonly resultSchema: import("zod").ZodObject<{
        operation: import("zod").ZodEnum<["accept_invitations"]>;
        success: import("zod").ZodBoolean;
        accepted: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            name: import("zod").ZodString;
            headline: import("zod").ZodOptional<import("zod").ZodString>;
            mutual_connections: import("zod").ZodOptional<import("zod").ZodString>;
            profile_url: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
            mutual_connections?: string | undefined;
        }, {
            name: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
            mutual_connections?: string | undefined;
        }>, "many">>;
        accepted_count: import("zod").ZodOptional<import("zod").ZodNumber>;
        skipped_count: import("zod").ZodOptional<import("zod").ZodNumber>;
        message: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "accept_invitations";
        success: boolean;
        error: string;
        message?: string | undefined;
        accepted?: {
            name: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
            mutual_connections?: string | undefined;
        }[] | undefined;
        accepted_count?: number | undefined;
        skipped_count?: number | undefined;
    }, {
        operation: "accept_invitations";
        success: boolean;
        error: string;
        message?: string | undefined;
        accepted?: {
            name: string;
            headline?: string | undefined;
            profile_url?: string | undefined;
            mutual_connections?: string | undefined;
        }[] | undefined;
        accepted_count?: number | undefined;
        skipped_count?: number | undefined;
    }>;
    static readonly shortDescription = "Accept top N LinkedIn connection invitations";
    static readonly longDescription = "Recordable tool that navigates to the LinkedIn invitation manager page and accepts the top N received connection invitations.";
    static readonly alias = "linkedin-accept-invitations";
    static readonly type = "tool";
    private sessionId;
    private contextId;
    private cookies;
    constructor(params?: T, context?: BubbleContext);
    protected chooseCredential(): string | undefined;
    private stepStartBrowserSession;
    private stepNavigateToInvitationManager;
    private stepWaitForInvitationsPage;
    private stepAcceptTopInvitations;
    private stepEndBrowserSession;
    private evaluate;
    private detectIPAddress;
    performAction(): Promise<LinkedInAcceptInvitationsToolResult>;
}
//# sourceMappingURL=tool.d.ts.map