import type { TelemetryCollectorOptions } from '@clerk/shared/telemetry';
import { TelemetryCollector } from '@clerk/shared/telemetry';
import type { SDKMetadata } from '@clerk/types';
import type { ApiClient, CreateBackendApiOptions } from './api';
import type { CreateAuthenticateRequestOptions } from './tokens/factory';
import { createAuthenticateRequest } from './tokens/factory';
export declare const verifyToken: (token: string, options: import("./tokens/verify").VerifyTokenOptions) => Promise<import("@clerk/types").JwtPayload>;
export type ClerkOptions = CreateBackendApiOptions & Partial<Pick<CreateAuthenticateRequestOptions['options'], 'audience' | 'jwtKey' | 'proxyUrl' | 'secretKey' | 'publishableKey' | 'domain' | 'isSatellite'>> & {
    sdkMetadata?: SDKMetadata;
    telemetry?: Pick<TelemetryCollectorOptions, 'disabled' | 'debug'>;
};
export type ClerkClient = {
    telemetry: TelemetryCollector;
} & ApiClient & ReturnType<typeof createAuthenticateRequest>;
export declare function createClerkClient(options: ClerkOptions): ClerkClient;
/**
 * General Types
 */
export type { OrganizationMembershipRole } from './api/resources';
export type { VerifyTokenOptions } from './tokens/verify';
/**
 * JSON types
 */
export type { ClerkResourceJSON, TokenJSON, AllowlistIdentifierJSON, ClientJSON, EmailJSON, EmailAddressJSON, ExternalAccountJSON, IdentificationLinkJSON, InvitationJSON, OauthAccessTokenJSON, OrganizationJSON, OrganizationInvitationJSON, PublicOrganizationDataJSON, OrganizationMembershipJSON, OrganizationMembershipPublicUserDataJSON, PhoneNumberJSON, RedirectUrlJSON, SessionJSON, SignInJSON, SignInTokenJSON, SignUpJSON, SMSMessageJSON, UserJSON, VerificationJSON, Web3WalletJSON, DeletedObjectJSON, PaginatedResponseJSON, TestingTokenJSON, } from './api/resources/JSON';
/**
 * Resources
 */
export type { AllowlistIdentifier, Client, EmailAddress, ExternalAccount, Invitation, OauthAccessToken, Organization, OrganizationInvitation, OrganizationMembership, OrganizationMembershipPublicUserData, PhoneNumber, Session, SignInToken, SMSMessage, Token, User, TestingToken, } from './api/resources';
/**
 * Webhooks event types
 */
export type { UserWebhookEvent, EmailWebhookEvent, SMSWebhookEvent, SessionWebhookEvent, OrganizationWebhookEvent, OrganizationMembershipWebhookEvent, OrganizationInvitationWebhookEvent, WebhookEvent, WebhookEventType, } from './api/resources/Webhooks';
/**
 * Auth objects
 */
export type { AuthObject } from './tokens/authObjects';
//# sourceMappingURL=index.d.ts.map