svelte-clerk
Version:
Svelte Clerk is the easiest way to add authentication and user management to your Svelte and SvelteKit applications. Add sign up, sign in, and profile management to your application in minutes.
43 lines (42 loc) • 1.76 kB
TypeScript
import type { SignedInSessionResource, ActClaim, ClientResource, OrganizationCustomPermissionKey, OrganizationCustomRoleKey, OrganizationResource, UserResource, SessionStatusClaim, JwtPayload } from '@clerk/shared/types';
import type { HeadlessBrowserClerk, BrowserClerk } from './types.js';
export interface ClerkContext {
/**
* See https://clerk.com/docs/references/javascript/clerk
*/
clerk: HeadlessBrowserClerk | BrowserClerk | null;
/**
* Check if the Clerk object is ready for use or not
*/
isLoaded: boolean;
auth: {
userId: string | null | undefined;
sessionId: string | null | undefined;
actor: ActClaim | null | undefined;
sessionStatus: SessionStatusClaim | null | undefined;
sessionClaims: JwtPayload | null | undefined;
orgId: string | null | undefined;
orgRole: OrganizationCustomRoleKey | null | undefined;
orgSlug: string | null | undefined;
orgPermissions: OrganizationCustomPermissionKey[] | null | undefined;
factorVerificationAge: [number, number] | null;
};
/**
* See https://clerk.com/docs/references/javascript/client
*/
client: ClientResource | null | undefined;
/**
* See https://clerk.com/docs/references/javascript/session
*/
session: SignedInSessionResource | null | undefined;
/**
* See https://clerk.com/docs/references/javascript/user
*/
user: UserResource | null | undefined;
/**
* See https://clerk.com/docs/references/javascript/organization
*/
organization: OrganizationResource | null | undefined;
}
export declare const useClerkContext: () => ClerkContext;
export declare const setClerkContext: (context: ClerkContext) => void;