export type PreviewAuthMode = 'onboardingGrant' | 'userSession';
export type PreviewSessionAuthMode = PreviewAuthMode | null;
export type PreviewExchangeTokenKind = 'user_session' | 'onboarding_grant';
export type PreviewRuntimeSession = Readonly<{
    kind: 'onboardingGrant';
    expiresAt: string | null;
}> | Readonly<{
    kind: 'userSession';
    canEdit: boolean;
    canManage: boolean;
    expiresAt: string | null;
}>;
export type PreviewSessionTokens = Readonly<{
    accessToken: string;
    refreshToken: string | null;
}>;
export type OnboardingPreviewRedirectAuthPlan = Readonly<{
    kind: 'onboardingGrant';
    userId: string;
}> | Readonly<{
    kind: 'userSession';
    sessionTokens: PreviewSessionTokens;
}>;
export declare function resolvePreviewAuthMode(previewAuthModeClaim: unknown): PreviewAuthMode;
export declare function resolvePreviewSessionCanEdit(input: Readonly<{
    authMode: PreviewSessionAuthMode;
    canEdit: boolean;
}>): boolean;
export declare function resolvePreviewRuntimeSession(input: Readonly<{
    authMode: PreviewSessionAuthMode;
    canEdit: boolean;
    canManage: boolean;
    expiresAt: string | null;
}>): PreviewRuntimeSession | null;
export declare function isPreviewRuntimeSessionEditable(session: PreviewRuntimeSession | null): boolean;
export declare function getPreviewRuntimeSessionAuthMode(session: PreviewRuntimeSession | null): PreviewSessionAuthMode;
export declare function resolvePreviewExchangeTokenKind(authMode: PreviewAuthMode): PreviewExchangeTokenKind;
export declare function resolveOnboardingPreviewRedirectAuthPlan(input: Readonly<{
    userId: string;
    sessionTokens: PreviewSessionTokens | null;
}>): OnboardingPreviewRedirectAuthPlan;
