/**
 * セキュリティ設定とデータベーススキーマの初期化
 */
/**
 * PostgreSQL用リフレッシュトークンテーブル作成SQL
 */
export declare const REFRESH_TOKEN_TABLE_SQL = "\n-- \u30EA\u30D5\u30EC\u30C3\u30B7\u30E5\u30C8\u30FC\u30AF\u30F3\u30C6\u30FC\u30D6\u30EB\nCREATE TABLE IF NOT EXISTS refresh_tokens (\n    token_id VARCHAR(255) PRIMARY KEY,\n    user_id VARCHAR(255) NOT NULL,\n    expires_at TIMESTAMP WITH TIME ZONE NOT NULL,\n    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,\n    last_used_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,\n    \n    -- \u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\n    INDEX idx_refresh_tokens_user_id (user_id),\n    INDEX idx_refresh_tokens_expires_at (expires_at),\n    INDEX idx_refresh_tokens_created_at (created_at)\n);\n\n-- \u671F\u9650\u5207\u308C\u30C8\u30FC\u30AF\u30F3\u306E\u81EA\u52D5\u524A\u9664\u7528\u95A2\u6570\uFF08\u30AA\u30D7\u30B7\u30E7\u30F3\uFF09\nCREATE OR REPLACE FUNCTION cleanup_expired_refresh_tokens()\nRETURNS INTEGER AS $$\nDECLARE\n    deleted_count INTEGER;\nBEGIN\n    DELETE FROM refresh_tokens WHERE expires_at <= NOW();\n    GET DIAGNOSTICS deleted_count = ROW_COUNT;\n    RETURN deleted_count;\nEND;\n$$ LANGUAGE plpgsql;\n\n-- \u671F\u9650\u5207\u308C\u30C8\u30FC\u30AF\u30F3\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u3092\u6BCE\u65E5\u5B9F\u884C\u3059\u308Bcron\u30B8\u30E7\u30D6\u8A2D\u5B9A\u4F8B\n-- SELECT cron.schedule('cleanup-refresh-tokens', '0 2 * * *', 'SELECT cleanup_expired_refresh_tokens();');\n";
/**
 * Redis用リフレッシュトークンスキーマ設定
 */
export declare const REDIS_REFRESH_TOKEN_CONFIG: {
    keyPrefix: string;
    defaultTTL: number;
    cleanupInterval: number;
};
/**
 * セキュリティ設定の初期化
 */
export declare function initializeSecurity(): Promise<void>;
/**
 * PostgreSQLにリフレッシュトークンテーブルを作成
 * @param pool PostgreSQL接続プール
 */
export declare function createRefreshTokenTable(pool: any): Promise<void>;
/**
 * セキュリティ設定の検証
 */
export declare function validateSecurityConfiguration(): {
    valid: boolean;
    issues: string[];
    recommendations: string[];
};
/**
 * セキュリティ設定のヘルスチェック
 */
export declare function securityHealthCheck(): Promise<{
    status: 'healthy' | 'warning' | 'critical';
    details: Record<string, any>;
}>;
/**
 * セキュリティ設定の表示
 */
export declare function displaySecurityStatus(): void;
//# sourceMappingURL=security.d.ts.map