import { LoginResponse, LogoutResult, PermissionAccess, Permissions, LogoutRequest, UserProfile, KindeBrowserOptions } from './types'; import { LoginMethodParams, OrgCode, Role, RefreshType, RefreshTokenResult, PortalPage } from '@kinde/js-utils'; import { JWTDecoded } from '@kinde/jwt-decoder'; export interface KindeAuthHook { login: (options?: Partial, browserOptions?: KindeBrowserOptions) => Promise; register: (options?: Partial, browserOptions?: KindeBrowserOptions) => Promise; switchOrg: (orgCode: OrgCode, options?: { redirectURL?: string; }) => Promise; logout: (options?: Partial, browserOptions?: KindeBrowserOptions) => Promise; portal: (subNav?: PortalPage) => Promise; getAccessToken: () => Promise; getIdToken: () => Promise; getDecodedToken: () => Promise<(JWTDecoded & { permissions: string[]; org_code: string; }) | null>; getPermission: (permissionKey: string) => Promise; getPermissions: () => Promise; getClaims: () => Promise; getClaim: (keyName: keyof T) => Promise<{ name: keyof T; value: V; } | null>; getCurrentOrganization: () => Promise; getUserOrganizations: () => Promise; getUserProfile: () => Promise; getRoles: () => Promise; getFlag: (name: string) => Promise; refreshToken: (args: { domain: string; clientId: string; refreshType?: RefreshType; onRefresh?: (data: RefreshTokenResult) => void; }) => Promise; isAuthenticated: boolean; isLoading: boolean; } export declare const useKindeAuthContext: () => KindeAuthHook; export declare const useKindeAuth: () => KindeAuthHook;