import { Session } from "../session/types.js";
import { Token } from "../token/types.js";
export type SignClaimOptions<C> = {
    claim: C;
    session: Session;
    appOrigin: string;
    atTime?: number;
    expiresAt?: number;
    audience?: string;
};
export type VerifyClaimOptions = {
    claimToken: string;
    appOrigins: string[];
    atTime?: number | null;
    allowedAudiences?: string[];
};
/** token payload for a generic claim signed by a session */
export type ClaimPayload<C> = {
    sub: string;
    data: {
        claim: C;
        proofToken: string;
    };
} & Token;
