import { type H3Event } from "h3"; import { type WorkspaceConnectionProvider } from "../connections/catalog.js"; import { type OAuthStatePayload } from "./google-oauth.js"; export type GenericWorkspaceOAuthProvider = "figma" | "google_drive" | "github" | "hubspot" | "salesforce" | "jira" | "sentry" | "notion"; export interface WorkspaceProviderOAuthFlow { provider: GenericWorkspaceOAuthProvider; flowId: string; verifier: string; redirectUri: string; owner: string; orgId?: string; appId: string; salesforceLoginUrl?: string; expiresAt: number; } export declare function workspaceProviderOAuthPath(provider: GenericWorkspaceOAuthProvider, phase: "start" | "callback"): string; export declare function createWorkspaceProviderOAuthHandler(provider: GenericWorkspaceOAuthProvider, phase: "start" | "callback"): import("h3").EventHandlerWithFetch | Response>>; export declare function handleWorkspaceProviderOAuthStart(event: H3Event, providerId: GenericWorkspaceOAuthProvider): Promise>; export declare function handleWorkspaceProviderOAuthCallback(event: H3Event, providerId: GenericWorkspaceOAuthProvider): Promise>; export declare function buildWorkspaceProviderAuthorizationUrl(input: { provider: WorkspaceConnectionProvider; clientId: string; redirectUri: string; state: string; challenge: string; authorizationUrl?: string; }): string; export declare function exchangeWorkspaceProviderOAuthCode(input: { providerId: GenericWorkspaceOAuthProvider; provider: WorkspaceConnectionProvider; clientId: string; clientSecret: string; code: string; verifier: string; redirectUri: string; tokenUrl?: string; }): Promise>; export declare function resolveWorkspaceProviderIdentity(providerId: GenericWorkspaceOAuthProvider, tokens: Record): Promise; export declare function resolveWorkspaceProviderIdentities(providerId: GenericWorkspaceOAuthProvider, tokens: Record): Promise; type WorkspaceProviderIdentity = { accountId: string; label: string; scopes?: string[]; config?: Record; }; export declare function isWorkspaceProviderOAuthFlowValid(input: { flow: WorkspaceProviderOAuthFlow; state: OAuthStatePayload; provider: GenericWorkspaceOAuthProvider; sessionEmail: string; sessionOrgId?: string; now?: number; }): boolean; export declare function canConnectWorkspaceProviderOAuth(orgId: string | null | undefined, role: string | null | undefined): boolean; export declare function scopedOAuthAccountId(provider: GenericWorkspaceOAuthProvider, owner: string, accountId: string): string; export declare function mergeWorkspaceOAuthValues(existing: readonly string[], incoming: readonly string[]): string[]; export declare function resolveSalesforceOAuthLoginUrl(environment: string | undefined): string | null; export declare function salesforceOAuthEndpoint(loginUrl: string, phase: "authorize" | "token"): string; export {}; //# sourceMappingURL=workspace-provider-oauth.d.ts.map