@kinde-oss/kinde-auth-react
Version:
Kinde React SDK for authentication
52 lines • 1.7 kB
TypeScript
import { GeneratePortalUrlParams, LoginMethodParams, UserProfile } from '@kinde/js-utils';
export declare enum TimeoutActivityType {
preWarning = "preWarning",
timeout = "timeout"
}
export type State = {
user?: UserProfile;
isLoading: boolean;
isAuthenticated: boolean;
error?: string | undefined;
};
export interface LoginLinkProps extends Partial<LoginMethodParams>, React.ButtonHTMLAttributes<HTMLButtonElement> {
children: React.ReactNode;
}
export interface RegisterLinkProps extends Partial<LoginMethodParams>, React.ButtonHTMLAttributes<HTMLButtonElement> {
children: React.ReactNode;
}
export interface LogoutLinkProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
children: React.ReactNode;
redirectUrl?: string;
allSessions?: boolean;
}
export interface PortalLinkProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Partial<Omit<GeneratePortalUrlParams, "domain">> {
children: React.ReactNode;
}
export type ErrorProps = {
error: string;
errorDescription: string;
};
export type LogoutOptions = {
allSessions?: boolean;
redirectUrl?: string;
};
export type PopupOptions = {
width?: number;
height?: number;
left?: number;
top?: number;
};
/**
* Activity timeout configuration.
* ⚠️ Must be memoized or defined outside component to prevent effect re-runs.
* @example
* const config = useMemo(() => ({ timeoutMinutes: 30 }), []);
* <KindeProvider activityTimeout={config} ... />
*/
export type ActivityTimeoutConfig = {
timeoutMinutes: number;
preWarningMinutes?: number;
onTimeout?: (type: TimeoutActivityType) => void | Promise<void>;
};
//# sourceMappingURL=types.d.ts.map