/**
 * 認証パッケージ用型定義
 */
/**
 * ユーザーペイロード
 */
export interface UserPayload {
    sub: string;
    email?: string;
    role: 'anon' | 'authenticated' | 'service_role';
    tenant_id: string;
    /** 🆕 Auth0組織ID（orgid）対応 */
    organization_id?: string;
    metadata?: {
        auth0_user_id?: string;
        email_verified?: boolean;
        name?: string;
        picture?: string;
        nickname?: string;
        roles?: string[];
        permissions?: string[];
        /** 🆕 組織関連メタデータ */
        organization?: {
            id: string;
            name: string;
            display_name?: string;
            metadata?: Record<string, any>;
        };
        organization_roles?: string[];
        organization_permissions?: string[];
        [key: string]: any;
    };
    app_metadata?: {
        provider?: string;
        domain?: string;
        client_id?: string;
        picture?: string;
        /** 🆕 組織関連のアプリケーションメタデータ */
        organization_id?: string;
        organizations?: string[];
        [key: string]: any;
    };
    user_metadata?: {
        email?: string;
        name?: string;
        picture?: string;
        [key: string]: any;
    };
}
/** 🆕 組織招待のステータス */
export declare enum OrganizationInvitationStatus {
    PENDING = "pending",
    ACCEPTED = "accepted",
    EXPIRED = "expired",
    CANCELLED = "cancelled"
}
/** 🆕 組織メンバーの役割 */
export interface OrganizationMemberRole {
    id: string;
    name: string;
    description?: string;
}
/** 🆕 組織設定 */
export interface OrganizationSettings {
    /** 組織でのサインアップを許可するか */
    enable_signup?: boolean;
    /** ドメイン制限 */
    allowed_domains?: string[];
    /** 自動参加を許可するドメイン */
    auto_membership_domains?: string[];
    /** 組織固有の接続設定 */
    connections?: {
        name: string;
        strategy: string;
        enabled: boolean;
    }[];
}
/**
 * 監査ログレベル
 */
export declare enum AuditLogLevel {
    DEBUG = "DEBUG",
    INFO = "INFO",
    WARN = "WARN",
    ERROR = "ERROR",
    CRITICAL = "CRITICAL"
}
/**
 * 監査イベントタイプ
 */
export declare enum AuditEventType {
    AUTH_LOGIN = "AUTH_LOGIN",
    AUTH_LOGOUT = "AUTH_LOGOUT",
    AUTH_FAILED = "AUTH_FAILED",
    DATA_READ = "DATA_READ",
    DATA_WRITE = "DATA_WRITE",
    DATA_DELETE = "DATA_DELETE",
    ADMIN_ACTION = "ADMIN_ACTION",
    SECURITY_EVENT = "SECURITY_EVENT",
    /** 🆕 組織関連イベント */
    ORG_MEMBER_ADDED = "ORG_MEMBER_ADDED",
    ORG_MEMBER_REMOVED = "ORG_MEMBER_REMOVED",
    ORG_INVITATION_SENT = "ORG_INVITATION_SENT",
    ORG_INVITATION_ACCEPTED = "ORG_INVITATION_ACCEPTED",
    ORG_SETTINGS_UPDATED = "ORG_SETTINGS_UPDATED"
}
/**
 * 監査ログエントリ
 */
export interface AuditLogEntry {
    level: AuditLogLevel;
    eventType: AuditEventType;
    userId?: string;
    tenantId?: string;
    /** 🆕 組織ID */
    organizationId?: string;
    result: 'SUCCESS' | 'FAILURE' | 'DENIED' | 'STARTED' | 'FAILED' | 'ERROR' | 'CANCELLED';
    message: string;
    details?: Record<string, any>;
    timestamp?: Date;
}
/**
 * 監査ログマネージャー（スタブ実装）
 */
export declare class AuditLogManager {
    static log(entry: AuditLogEntry): void;
}
//# sourceMappingURL=types.d.ts.map